@charset "utf-8";

/* 초기화 */
html { overflow-y:scroll; font-size:72.5%; } 
body { margin:0; padding:0; font-size:1.2rem; font-family:'Malgun Gothic', dotum, sans-serif; background:var(--bodyBg) !important; } 
html, form, fieldset, img { margin:0; padding:0; border:0 } 
h1, h2, h3, h4, h5, h6 { font-family:'Malgun Gothic', dotum, sans-serif } 
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block } 
ul, dl,dt,dd { margin:0; padding:0 !important; list-style:none; margin-bottom: 0 !important; } 
legend { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: polygon(0 0, 0 0, 0 0); }
label, input, button, select, img { vertical-align:middle; font-size:1.2rem } 
input, button { margin:0; padding:0; font-family:'Malgun Gothic', dotum, sans-serif; font-size:1.2rem } 
input[type="submit"] { cursor:pointer } 
button { cursor:pointer } 
textarea, select { font-family:'Malgun Gothic', dotum, sans-serif; font-size:1.2rem } 
select { margin:0 } 
p { margin:0 !important; padding:0; word-break:break-all } 
hr { display:none } 
pre { overflow-x:scroll; font-size:1.3rem } 
a { text-decoration:none !important; } 

*, :after, :before { box-sizing:border-box; } 

input[type=text],input[type=password], textarea {transition:all 0.30s ease-in-out;outline:none; } 

input[type=text],input[type=password], textarea {transition:all 0.30s ease-in-out;outline:none; }
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active { transition: background-color 5000s ease-in-out 0s; -webkit-transition: background-color 9999s ease-out; -webkit-box-shadow: 0 0 0px 1000px var(--inputBg) inset !important; -webkit-text-fill-color: var(--fontColor); }

input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus {-webkit-box-shadow:0 0 5px #ffb6a8;-moz-box-shadow:0 0 5px #ffb6a8;box-shadow:0 0 5px #ffb6a8;border:1px solid var(--primaryColor) !important; }

.placeholdersjs { color:#aaa !important }
.dropdown-menu {padding: 0 !important;border: none !important;box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);}

#wrapper {min-height: calc(100vh - 250px);}

/* color 변수설정 */
:root {
  --primaryColor: #4b72c5;
}

:root[color-theme='light'] {
  /* 스위치 버튼 */
  --lightVisible: none;
  --darkVisible: inline-block;
  /* background */
  --inputBg: rgba(255, 255, 255, 0.7); /* Slightly transparent white */
  --bodyBg: #f0f4f7; /* Lighter, subtle background for contrast */
  --wrapperBg: rgba(255, 255, 255, 0.8); /* More pronounced transparency */
  --contBg: rgba(255, 255, 255, 0.75); /* Transparent content area */
  --gnbBg: rgba(255, 255, 255, 0.4); /* Transparent GNB */
  --menuBg: rgba(65, 88, 209, 0.9); /* Slightly less opaque blue for menu */
  --joinBg: rgba(247, 247, 247, 0.7);
  --prHover: rgba(247, 247, 247, 0.9);
  --pointBg: rgba(237, 243, 252, 0.8);
  --bovHover: rgba(247, 247, 247, 0.9);
  --boNoticeBg: rgba(255, 246, 250, 0.8);
  --footerBg: rgba(248, 243, 242, 0.6); /* More transparent footer */
  --ftCopyBg: rgba(241, 231, 229, 0.7);
  --evenTdBg: rgba(251, 251, 251, 0.7);
  --copyHvBg: rgba(244, 244, 244, 0.9);
  --newBg: rgba(247, 247, 247, 0.8);
  --priThBg: rgba(247, 247, 249, 0.7);
  --pgBg: rgba(238, 238, 238, 0.6);
  --autoBg: rgba(238, 238, 238, 0.6);
  --pgHvBg: rgba(250, 250, 250, 0.9);
  --scrapBg: rgba(248, 235, 234, 0.7);
  --boListBg: rgba(204, 209, 217, 0.5); /* Semi-transparent list background */
  --btnPrvBg: rgba(238, 238, 238, 0.7);
  --noImgBg: rgba(234, 234, 234, 0.6);
  --gnbShadowBg: rgba(0,0,0,0.2); /* Softer shadow */
  --autoPopBg: rgba(232, 232, 232, 0.7);
  --autoHvBg: rgba(219, 219, 219, 0.9);
  --cardBg: rgba(243, 243, 243, 0.8);

  /* 폰트색상 - Keep relatively similar for readability */
  --fontColor: #1a1a1a;
  --subFontColor: #555555;
  --gnbFontColor: #222222;
  --prFontColor: #465168;
  --btnColor: #000;
  --bovColor: #666;
  --tdColor: #666;
  --bovTitColor: #555;
  --iconColor: #4b5259;
  --ptStatusColor: #737373;
  --moreOptColor: #6b757c;
  --ftColor: #525252;
  --boListColor: #6f534e;
  --moreColor: #c4bab8;

  /* border - Softer, less opaque borders */
  --border: 1px solid rgba(229, 236, 238, 0.5);
  --subBorder: 1px solid rgba(238, 238, 238, 0.6);
  --topBtnBorder: 2px solid rgba(0,0,0,0.1);
  --inputBorder: 1px solid rgba(208, 211, 219, 0.5);
  --gnbBorder: 1px solid rgba(224, 226, 229, 0.5);
  --olBorder: 1px solid rgba(213, 217, 221, 0.5);
  --scrabBorder: 1px solid rgba(229, 236, 238, 0.5);
  --moreUlBorder: 1px solid rgba(184, 191, 196, 0.5);
  --moreLiBorder: 1px solid rgba(241, 241, 241, 0.7);
  --afterBorder: transparent transparent rgba(255, 255, 255, 0.7) transparent;
  --beforeBorder: transparent transparent rgba(229, 236, 238, 0.5) transparent;
  --priTableBorder: 1px solid rgba(216, 219, 223, 0.5);
  --qaBorder: 1px solid rgba(255, 222, 216, 0.6);
  --fileBorder: 2px solid rgba(0,0,0,0.05);
  --shareBorder: 1px solid rgba(213, 213, 213, 0.5);
  --autoLiBorder: 1px solid rgba(255, 255, 255, 0.7);
  --autoUlBorder: 1px solid rgba(232, 232, 232, 0.6);
  /* filter */
  --btnInvert: invert(92%);


  h1, h2, h3 {
    text-align: center;         /* 가운데 정렬 */
    margin-inline-start: 0;
    margin-inline-end: 0;
    unicode-bidi: isolate;
  }


  /* ── 배경 애니메이션 컨테이너 ── */
  /* ── 배경 애니메이션 컨테이너 ── */
  .orbit-container {
    position: absolute;

    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -5000;
    pointer-events: none;
    overflow: hidden;
    background: transparent; /* 배경 투명하게 명시 */

  }

  /* ── 원 애니메이션 ── */
  /* ── 원 애니메이션 (속도 느림 + 위치 재배치) ── */
  .circle {
    position: absolute;
    width: 800px;
    height: 800px;
    border-radius: 50%;
    opacity: 0.2; /* 약간 더 투명하게 */
    animation: randomMove 40s ease-in-out infinite; /* 느리게 변경 */
    filter: blur(0px); /* 블러 효과 */
    box-shadow: 0 0 80px rgba(0, 255, 0, 0); /* 네온 글로우 느낌 */
  }


  @keyframes randomMove {
    0%   { transform: translate(0, 0); }
    20%  { transform: translate(200px, -150px); }
    40%  { transform: translate(-250px, 120px); }
    60%  { transform: translate(180px, 200px); }
    80%  { transform: translate(-200px, -180px); }
    100% { transform: translate(0, 0); }
  }

  /* 새롭게 재배치된 원 좌표 */
  .circle:nth-child(1) { top: 5%;  left: 10%; background: radial-gradient(circle, rgba(255,92,92,0.9), rgba(255,0,0,0.9)); animation-delay: 0s; }
  .circle:nth-child(2) { top: 60%; left: 5%;  background: radial-gradient(circle, rgba(92,255,92,0.9), rgba(0,255,0,0.9)); animation-delay: 2s; }
  .circle:nth-child(3) { top: 30%; left: 25%; background: radial-gradient(circle, rgba(92,92,255,0.9), rgba(0,0,255,0.9)); animation-delay: 4s; }
  .circle:nth-child(4) { top: 10%; left: 40%; background: radial-gradient(circle, rgba(255,92,255,0.9), rgba(255,0,255,0.9)); animation-delay: 6s; }
  .circle:nth-child(5) { top: 75%; left: 55%; background: radial-gradient(circle, rgba(255,255,92,0.9), rgba(255,255,0,0.9)); animation-delay: 8s; }
  .circle:nth-child(6) { top: 50%; left: 35%; background: radial-gradient(circle, rgba(92,255,255,0.9), rgba(0,255,255,0.9)); animation-delay: 10s; }






  /* ── 햄버거 & 메뉴 오버레이 ── */
  .hamburger {
    background: none;
    color: rgb(255, 255, 255);
    font-size: 1.8rem;
    cursor: pointer;
  }
  .menu-overlay {
    position: fixed;
    top: 0;
    left: -320px;
    width: 320px;
    height: 100%;
    background: rgba(255, 7, 7, 0.266);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    box-shadow: 4px 0 30px rgba(0,0,0,0.5);
    border-right: 1px solid rgba(255,255,255,0.1);
    transition: left 0.4s ease;
    z-index: 999;
  }
  .menu-overlay.active {
    left: 0;
  }

  /* ── 메뉴 리스트: 3D 블루 글라스 ── */
  .menu {
    list-style: none;
    padding: 80px 1px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 350px;

  }
  .menu-item {
    width: 90%;
    max-width: 350px;
    margin-bottom: 10px;
    padding: 7px 7px;
    background: rgba(255, 0, 0, 0.439);
    backdrop-filter: blur(10px) ;
    -webkit-backdrop-filter: blur(10px)  
    ;
    border: 0px solid rgba(255, 255, 255, 0.058);
    border-radius: 20px;
    box-shadow: 
  inset 0px 0px 3.03px -9px rgb(62 63 184 / 32%), inset 1px 0.01px 0px -14px rgb(30 37 163 / 56%), inset 0px 0px 10px 3px rgb(82 80 112 / 20%), 0px 0px 2px 1px rgb(47 43 93 / 53%), 0.3px 0.3px 1px rgb(123 125 238 / 30%);


    transform: translateZ(20px) translateY(0);
    opacity: 0;
    animation: slideIn 0.5s forwards;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  .menu-item:hover {
    transform: translateY(-5px) translateZ(20px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.5), inset 0 0 12px rgba(255,255,255,0.25);
  }
  @keyframes slideIn {
    to { opacity: 1; transform: translateZ(20px) translateX(0); }
  }
  .menu-item:nth-child(1) { animation-delay: 0.1s; }
  .menu-item:nth-child(2) { animation-delay: 0.2s; }
  .menu-item:nth-child(3) { animation-delay: 0.3s; }
  .menu-item:nth-child(4) { animation-delay: 0.4s; }
  .menu-item:nth-child(5) { animation-delay: 0.5s; }
  .menu-item:nth-child(6) { animation-delay: 0.6s; }
  .menu-item:nth-child(7) { animation-delay: 0.7s; }

  /* ── 드롭다운 ── */
  .dropdown-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
  }
  .dropdown-content {
    list-style: none;
    padding-left: 20px;
    margin-top: 10px;
    display: none;
    
    text-align: center;
  }
  .menu-item.dropdown.active > .dropdown-content {
    display: block;
  }

  /* ── 링크: 네온 오렌지 + 화이트 ── */
  .menu-item a {
    color: #ffffff;
    text-decoration: none;
    
    transition: color 0.3s, text-shadow 0.3s;
    font-weight: bold;          /* 글씨 두껍게 */

  }
  .menu-item a:hover {
    color: #ff00009c;
    text-shadow: 0 0 6px rgba(225, 255, 0, 0.652), 0 0 8px rgba(229, 255, 0, 0.6);
  }

  /* ── 메인 콘텐츠 여백 ── */
  .main-content {
    padding-top: 80px;
  }

  /* ── 테이블: 3D 블루 글라스 ── */
  table {
    padding: 6px 8px;

    margin: 5px auto;
    border-collapse: collapse;
    
    border-radius: 30px;
    backdrop-filter: blur(10px)     ;
    -webkit-backdrop-filter: blur(10px)  
    ;
    border: 3px solid rgba(255, 255, 255, 0.058);

    background: linear-gradient(145deg, rgba(255, 255, 255, 0.045), rgba(184, 184, 184, 0.113));
    box-shadow: 
  inset 0px 0px 3.03px -9px rgb(62 63 184 / 32%), inset 1px 0.01px 0px -14px rgb(30 37 163 / 56%), inset 0px 0px 10px 3px rgb(82 80 112 / 20%), 0px 0px 2px 1px rgb(47 43 93 / 53%), 0.3px 0.3px 1px rgb(123 125 238 / 30%);


    border: 0px solid rgba(255, 255, 255, 0); /* 얇은 경계선 */
      transform: translateZ(10px);
    transition: transform 0.3s ease;
  }
  table th, table td {
    padding: 2px;
    word-wrap: break-word;

  }

  table td:hover {
    background: rgba(255, 255, 255, 0);
    cursor: pointer;
  }

  /* ── 폼: 3D 블루 글라스 ── */
  form {
    
    margin: 0 auto 10px auto;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    align-items: center;

    box-sizing: border-box;
    border: 3px solid rgba(255, 255, 255, 0.058);

    border-radius: 20px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.045), rgba(184, 184, 184, 0.113));
    backdrop-filter: blur(10px)   ;
    -webkit-backdrop-filter: blur(10px)   
    ;
    box-shadow:
  inset 0px 0px 3.03px -9px rgb(62 63 184 / 32%), inset 1px 0.01px 0px -14px rgb(30 37 163 / 56%), inset 0px 0px 10px 3px rgb(82 80 112 / 20%), 0px 0px 2px 1px rgb(47 43 93 / 53%), 0.3px 0.3px 1px rgb(123 125 238 / 30%);


    transition: all 0.3s ease-in-out;
  }

  /* ── 숫자 입력 & 셀렉트: 3D 블루 글라스 ── */
  /* ── 수정된 글래스모피즘 3D input & select ── */
  input[type="number"],
  input[type="text"],
  select {
    position: relative;
      background:rgba(255, 255, 255, 0.55);;
    /* 블러 효과 제거 */
    /* backdrop-filter: blur(12px); */
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 18px;
    text-align: center;
    
    box-shadow:
      /* 네온 블루 힌트 */
      0 0 10px rgba(0, 180, 255, 0.3),
      /* 떠 있는 듯한 외부 그림자 */
      0 8px 24px rgba(0, 0, 0, 0.20),
      /* 내부 하이라이트 */
      inset 0 1px 2px rgba(255, 255, 255, 0.3);
    overflow: hidden;
    transition: all 0.25s ease-in-out;
    transform: perspective(400px) translateZ(4px);
  }

  /* ── 버튼: 레드 네온 글라스 ── */
  button {
    

    font-size: 1.0rem;
    background: rgba(23, 188, 253, 0.46);
    backdrop-filter: blur(6px) ;
    -webkit-backdrop-filter: blur(6px) ;
    border: 1px solid rgba(255, 255, 255, 0.504);
    border-radius: 6px;
    color: #fff;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.46), 0 0 12px rgba(255,255,255,0.6);
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    transform: none; /* ← 수정: 클릭 위치 이상 방지 */
  }
  button:hover {
    background: rgba(25, 3, 225, 0.33);
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.507), 0 0 16px rgba(255,255,255,0.8);
  }

  /* ── 체크박스: 네오뮤퍼즘 + 블루-퍼플 글라데이션 글라스 ── */
  .filter-pill input[type="checkbox"] {
    appearance: none;
    width: 26px;
    height: 26px;
    background: linear-gradient(145deg, rgba(150, 180, 255, 0.15), rgba(200, 155, 255, 0.15));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    cursor: pointer;
    position: relative;
    box-shadow:
      /* 외곽 라이트 쉐도우 */
      -4px -4px 8px rgba(255, 255, 255, 0.6),
      /* 외곽 다크 쉐도우 */
      4px 4px 8px rgba(0, 0, 0, 0.2),
      /* 내부 글라스 효과 */
      inset 0 0 6px rgba(255, 255, 255, 0.2);
    transition: all 0.25s ease-in-out;
    margin-right: 8px;
    flex-shrink: 0;
    vertical-align: middle;
  }

  .filter-pill input[type="checkbox"]:hover {
    box-shadow:
      -4px -4px 12px rgba(255, 255, 255, 0.8),
      4px 4px 12px rgba(0, 0, 0, 0.25),
      inset 0 0 8px rgba(255, 255, 255, 0.3);
  }

  .filter-pill input[type="checkbox"]:active {
    transform: scale(0.95);
  }

  .filter-pill input[type="checkbox"]:checked {
    background: linear-gradient(145deg, rgba(150, 180, 255, 0.3), rgba(200, 155, 255, 0.3));
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow:
      inset 2px 2px 4px rgba(0, 0, 0, 0.25),
      inset -2px -2px 4px rgba(255, 255, 255, 0.4);
  }

  .filter-pill input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 5px;
    width: 5px;
    height: 9px;
    border: solid rgba(50, 50, 50, 0.8);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
  }

  /* 선택 해제 버튼에 글라스 호버 효과 추가 */
  #clearFilter:hover {
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 2px 6px rgba(0,0,0,0.3), 0 0 4px rgba(255,255,255,0.2);
    transition: all 0.2s ease-in-out;
  }




  /* ── 헤더: 3D 블루 글라스 ── */
  header {
    top: 0;
    left: 0;
    width: 100%;
    padding: 10px 1rem;
    background: linear-gradient(145deg, rgba(39, 15, 224, 0.196), rgba(96, 0, 239, 0.293));

    border-bottom: 1px solid rgba(255,255,255,0.1);
    border-radius: 0 0 12px 12px;
    box-shadow:
  inset 0px 0px 3.03px -9px rgb(62 63 184 / 32%), inset 1px 0.01px 0px -14px rgb(30 37 163 / 56%), inset 0px 0px 10px 3px rgb(82 80 112 / 20%), 0px 0px 2px 1px rgb(47 43 93 / 53%), 0.3px 0.3px 1px rgb(123 125 238 / 30%);
    color: #fff;
    transition: background 0.3s ease;
    z-index: 20000;
    
  }
  header:hover {
    background: linear-gradient(145deg, rgba(215, 9, 9, 0.702), rgba(223, 21, 21, 0.795));
  }

  /* ── 헤더 레이아웃 ── */
  .header-container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .header-container .logo-link {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    animation: pulse 3.5s ease-in-out infinite;
  }
  @keyframes pulse {
    0%   { transform: translate(-50%, -50%) scale(1); opacity: 0.9; }
    50%  { transform: translate(-50%, -50%) scale(1.7); opacity: 1; }
    100% { transform: translate(-50%, -50%) scale(1); opacity: 0.9; }
  }
  .logo:hover {
    animation: shake 0.5s;
  }
  @keyframes shake {
    0% { transform: translateX(0); }
    20% { transform: translateX(-5px); }
    40% { transform: translateX(5px); }
    60% { transform: translateX(-5px); }
    80% { transform: translateX(5px); }
    100% { transform: translateX(0); }
  }



  /* ── 반사광 애니메이션 재정의 (헤더 외 다른 요소에도 적용 가능) ── */
  .shine-effect {
    position: relative;
    overflow: hidden;
  }
  .shine-effect::before {
    content: "";
    position: absolute;
    top: 0; left: -150%;
    width: 150%; height: 100%;
    background: linear-gradient(
      120deg,
      transparent 30%,
      rgba(255, 255, 255, 0.351) 50%,
      transparent 70%
    );
    transform: skewX(-25deg);
    animation: shine 6s infinite;
    pointer-events: none;
  }

  /* ── 느린 반사광 키프레임 ── */
  @keyframes shine-slow {
    0%   { left: -150%; }
    50%  { left: 150%; }
    100% { left: 150%; }
  }

  /* ── 헤더와 shine-effect 클래스 반사광 속도 조정 ── */
  header::before,
  .shine-effect::before {
    animation: shine-slow 6s infinite;
  }










    /* ===== 탭 컨테이너 스타일 ===== */
    .tabs { 
      display: flex;              /* 가로로 버튼을 나열하는 Flex 컨테이너 */
      border-bottom: 2px solid #ff00001f; /* 탭 아래 경계선 */
      margin-bottom: 0em;         /* 콘텐츠와 간격 */
    }
    .tabs button {
      flex: 1;                    /* 모든 버튼 동일한 너비 */
      padding: 0;                 /* 내부 여백 제거 */
      margin: 0;                  /* 버튼 간 마진 제거 */
      background:rgba(25, 3, 104, 0.097);        /* 배경색 변경 */
      border: none;               /* 기본 테두리 제거 */
      border-right: 1px solid #ddd; /* 버튼 사이 경계선 */
      cursor: pointer;            /* 마우스 커서 변환 */
      font-size: 0.75em;          /* 글자 크기 더 작게 */
      transition: background 0.2s; /* 호버 시 배경 전환 효과 */
    }
    .tabs button:last-child { 
      border-right: none;         /* 마지막 버튼에는 우측 경계선 제거 */
    }
    .tabs button:hover { 
      background:rgba(0, 0, 0, 0.1);        /* 호버 시 배경색 변경 */
    }
    .tabs button.active {
      background:rgba(255, 0, 0, 0.643);             /* 활성 탭 배경 */
      border-bottom: 3px solidrgba(255, 0, 0, 0.54); /* 활성 탭 강조 밑줄 */
      font-weight: bold;          /* 활성 탭 글자 굵게 */
    }

    /* ===== 탭 콘텐츠 스타일 ===== */
    .tab-content > div {
      display: none;              /* 기본적으로 모든 콘텐츠 숨김 */
      padding: 0.8em;             /* 내부 여백 */
      background:rgba(255, 0, 0, 0);        /* 배경색 변경 */
      border: 1px solid #f7000056;     /* 테두리 */
      border-top: none;           /* 위쪽 테두리는 탭과 겹침 방지 */
      border-radius: 30px 30px 30px 30px; /* 하단 모서리 둥글게 */
      font-size: 0.9em;           /* 글자 크기 */
    }
    .tab-content > div.active { 
      display: block;             /* 활성 탭에 해당하는 콘텐츠만 보이기 */
    }
}
:root[color-theme='dark'] {
  /* 스위치 버튼 */
  --lightVisible: inline-block;
  --darkVisible: none;
  /* background */
  --inputBg: rgba(50, 50, 53, 0.6); /* Transparent dark input */
  --bodyBg: #0f1010; /* Darker, almost black background */
  --wrapperBg: rgba(21, 22, 22, 0.8); /* More transparent dark wrapper */
  --contBg: rgba(37, 37, 37, 0.7); /* Transparent dark content */
  --gnbBg: rgba(0,0,0,0.5); /* Slightly more opaque dark GNB */
  --menuBg: rgba(50, 50, 53, 0.8);
  --joinBg: rgba(21, 22, 22, 0.7);
  --prHover: rgba(21, 22, 22, 0.9);
  --pointBg: rgba(31, 29, 29, 0.8);
  --bovHover: rgba(31, 29, 29, 0.9);
  --boNoticeBg: rgba(27, 23, 22, 0.8);
  --footerBg: rgba(36, 32, 32, 0.6);
  --ftCopyBg: rgba(43, 39, 39, 0.7);
  --evenTdBg: rgba(31, 29, 29, 0.7);
  --copyHvBg: rgba(31, 29, 29, 0.9);
  --newBg: rgba(31, 29, 29, 0.8);
  --priThBg: rgba(36, 36, 36, 0.7);
  --pgBg: rgba(50, 50, 53, 0.6);
  --autoBg: rgba(58, 58, 58, 0.6);
  --pgHvBg: rgba(31, 29, 29, 0.9);
  --scrapBg: rgba(73, 57, 55, 0.7);
  --boListBg: rgba(56, 57, 59, 0.5);
  --btnPrvBg: rgba(54, 54, 54, 0.7);
  --noImgBg: rgba(31, 29, 29, 0.6);
  --gnbShadowBg: rgba(0,0,0,0.4);
  --autoPopBg: rgba(255, 255, 255, 0.25); /* More subtle white tint for dark mode popups */
  --autoHvBg: rgba(82, 82, 82, 0.9);
  --cardBg: rgba(51, 51, 51, 0.8);

  /* 폰트색상 - Keep relatively similar for readability */
  --fontColor: #e0e0e0;
  --subFontColor: #a0a0a0;
  --gnbFontColor: #909090;
  --prFontColor: #a0a0a0;
  --btnColor: #5d74e8; /* Adjusted for better contrast on dark glass */
  --bovColor: #a9a9a9;
  --tdColor: #a0a0a0;
  --bovTitColor: #aaaaaa;
  --iconColor: #e0e0e0;
  --ptAllColor: #8d8c8c;
  --ptStatusColor: #2c2c2c;
  --moreOptColor: #a0a0a0;
  --ftColor: #999999;
  --boListColor: #a08a85;
  --moreColor: #646464;

  /* border - Softer, less opaque borders for dark mode */
  --border: 1px solid rgba(56, 56, 56, 0.5);
  --topBtnBorder: 2px solid rgba(255, 255, 255, 0.25);
  --inputBorder: 1px solid rgba(255, 255, 255, 0.1); /* Subtle border for dark inputs */
  --gnbBorder: 1px solid rgba(56, 56, 56, 0.5);
  --olBorder: 1px solid rgba(56, 56, 56, 0.5);
  --scrabBorder: 1px solid rgba(97, 97, 97, 0.5);
  --moreUlBorder: 1px solid rgba(100, 100, 100, 0.5);
  --moreLiBorder: 1px solid rgba(56, 56, 56, 0.7);
  --afterBorder: transparent transparent rgba(33, 32, 32, 0.7) transparent;
  --beforeBorder: transparent transparent rgba(56, 56, 56, 0.5) transparent;
  --priTableBorder: 1px solid rgba(65, 65, 65, 0.5);
  --qaBorder: 1px solid rgba(80, 69, 68, 0.6);
  --fileBorder: 2px solid rgba(255, 255, 255, 0.1);
  --shareBorder: 1px solid rgba(77, 77, 77, 0.5);
  --autoLiBorder: 1px solid rgba(37, 37, 37, 0.7);
  --autoUlBorder: 1px solid rgba(255, 255, 255, 0.25);
  /* filter */
  --invert: invert(92%);
  --moreInvert: invert(86%);


  /* ── 기본 스타일: 전체 테마 ── */
  body {

  
    position: relative;
    max-width: 100vw;           /* 뷰포트 초과 방지 */
    color: #ffffff;             /* 흰색 글씨 */
  
    display: flex;
  
    flex-direction: column; /* 위 아래 쌓기 방식 */
    margin: 0 auto;
  
    overflow-x: auto;           /* ← 좌우 스크롤 가능하게 설정 */
    overflow-y: auto;
  }

  h1, h2, h3 {
    text-align: center;         /* 가운데 정렬 */
    margin-inline-start: 0;
    margin-inline-end: 0;
    unicode-bidi: isolate;
  }
  
  /* 필요 시 각 태그의 크기 유지 */
  h1 {
    font-size: 2em;
    font-weight: bold;
    margin-top: 5px;
    margin-bottom: 5px;
  }
  
  h2 {
    font-size: 1.5em;
    font-weight: bold;
    margin-top: 5px;
    margin-bottom: 5px;
  }
  
  h3 {
    font-size: 1.17em;
    font-weight: bold;
    margin-top: 5px;
    margin-bottom: 5px;
  }
  
  
  /* ── 배경 애니메이션 컨테이너 ── */
  .orbit-container {
    position: absolute;
  
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -5000;
    pointer-events: none;
    overflow: hidden;
    background: transparent; /* 배경 투명하게 명시 */
  
  }
  
  /* ── 원 애니메이션 ── */
  /* ── 원 애니메이션 (속도 느림 + 위치 재배치) ── */
  .circle {
    position: absolute;
    width: 800px;
    height: 800px;
    border-radius: 50%;
    opacity: 0.2; /* 약간 더 투명하게 */
    animation: randomMove 40s ease-in-out infinite; /* 느리게 변경 */
    filter: blur(0px); /* 블러 효과 */
    box-shadow: 0 0 80px rgba(255, 255, 255, 0.1); /* 네온 글로우 느낌 */
  }
  
  
  @keyframes randomMove {
    0%   { transform: translate(0, 0); }
    20%  { transform: translate(200px, -150px); }
    40%  { transform: translate(-250px, 120px); }
    60%  { transform: translate(180px, 200px); }
    80%  { transform: translate(-200px, -180px); }
    100% { transform: translate(0, 0); }
  }
  
  /* 새롭게 재배치된 원 좌표 */
  .circle:nth-child(1) { top: 5%;  left: 10%; background: radial-gradient(circle, rgba(255,92,92,0.9), rgba(255,0,0,0.9)); animation-delay: 0s; }
  .circle:nth-child(2) { top: 60%; left: 5%;  background: radial-gradient(circle, rgba(92,255,92,0.9), rgba(0,255,0,0.9)); animation-delay: 2s; }
  .circle:nth-child(3) { top: 30%; left: 25%; background: radial-gradient(circle, rgba(92,92,255,0.9), rgba(0,0,255,0.9)); animation-delay: 4s; }
  .circle:nth-child(4) { top: 10%; left: 45%; background: radial-gradient(circle, rgba(255,92,255,0.9), rgba(255,0,255,0.9)); animation-delay: 6s; }
  .circle:nth-child(5) { top: 75%; left: 55%; background: radial-gradient(circle, rgba(255,255,92,0.9), rgba(255,255,0,0.9)); animation-delay: 8s; }
  .circle:nth-child(6) { top: 50%; left: 35%; background: radial-gradient(circle, rgba(92,255,255,0.9), rgba(0,255,255,0.9)); animation-delay: 10s; }
  
  
  
  /* ── 헤더: 3D 블루 글라스 ── */
  header {
    top: 0;
    left: 0;
    width: 100%;
    padding: 10px 1rem;
    background: rgba(10, 20, 60, 0.3);

    border-bottom: 1px solid rgba(255,255,255,0.1);
    border-radius: 0 0 12px 12px;
    box-shadow:
  inset 0px 0px 3.03px -9px rgb(62 63 184 / 32%), inset 1px 0.01px 0px -14px rgb(30 37 163 / 56%), inset 0px 0px 10px 3px rgb(82 80 112 / 20%), 0px 0px 2px 1px rgb(47 43 93 / 53%), 0.3px 0.3px 1px rgb(123 125 238 / 30%);
    color: #fff;
    transition: background 0.3s ease;
    z-index: 20000;
  }
  header:hover {
    background: rgba(10,20,60,0.7);
  }
  
  /* ── 헤더 레이아웃 ── */
  .header-container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .header-container .logo-link {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    animation: pulse 3.5s ease-in-out infinite;
  }
  @keyframes pulse {
    0%   { transform: translate(-50%, -50%) scale(1); opacity: 0.9; }
    50%  { transform: translate(-50%, -50%) scale(1.7); opacity: 1; }
    100% { transform: translate(-50%, -50%) scale(1); opacity: 0.9; }
  }
  .logo:hover {
    animation: shake 0.5s;
  }
  @keyframes shake {
    0% { transform: translateX(0); }
    20% { transform: translateX(-5px); }
    40% { transform: translateX(5px); }
    60% { transform: translateX(-5px); }
    80% { transform: translateX(5px); }
    100% { transform: translateX(0); }
  }
  
  /* ── 햄버거 & 메뉴 오버레이 ── */
  .hamburger {
    background: none;
    border: none;
    color: rgba(255,255,255,0.7);
    font-size: 1.8rem;
    cursor: pointer;
  }
  .menu-overlay {
    position: fixed;
    top: 0;
    left: -320px;
    width: 320px;
    height: 100%;
    background: rgba(0,0,0,0.0);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    box-shadow: 4px 0 30px rgba(0,0,0,0.7);
    border-right: 1px solid rgba(255,255,255,0.1);
    transition: left 0.4s ease;
    z-index: 999;
  }
  .menu-overlay.active {
    left: 0;
  }
  
  /* ── 메뉴 리스트: 3D 블루 글라스 ── */
  .menu {
    list-style: none;
    padding: 80px 1px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 350px;
  }
  .menu-item {
    width: 90%;
    max-width: 350px;
    margin-bottom: 10px;
    padding: 7px 7px;
    background: rgba(10,20,60,0.25);
    backdrop-filter: blur(18px)  ;
    -webkit-backdrop-filter: blur(10px)    
    ;
    border: 0px solid rgba(255, 255, 255, 0.058);
    border-radius: 20px;
    box-shadow:    
  inset 0px 0px 3.03px -9px rgb(62 63 184 / 32%), inset 1px 0.01px 0px -14px rgb(30 37 163 / 56%), inset 0px 0px 10px 3px rgb(82 80 112 / 20%), 0px 0px 2px 1px rgb(47 43 93 / 53%), 0.3px 0.3px 1px rgb(123 125 238 / 30%);
  
    transform: translateZ(20px) translateY(0);
    opacity: 0;
    animation: slideIn 0.5s forwards;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  .menu-item:hover {
    transform: translateY(-5px) translateZ(20px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.5), inset 0 0 12px rgba(255,255,255,0.25);
  }
  @keyframes slideIn {
    to { opacity: 1; transform: translateZ(20px) translateX(0); }
  }
  .menu-item:nth-child(1) { animation-delay: 0.1s; }
  .menu-item:nth-child(2) { animation-delay: 0.2s; }
  .menu-item:nth-child(3) { animation-delay: 0.3s; }
  .menu-item:nth-child(4) { animation-delay: 0.4s; }
  .menu-item:nth-child(5) { animation-delay: 0.5s; }
  .menu-item:nth-child(6) { animation-delay: 0.6s; }
  .menu-item:nth-child(7) { animation-delay: 0.7s; }
  
  /* ── 드롭다운 ── */
  .dropdown-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
  }
  .dropdown-content {
    list-style: none;
    padding-left: 20px;
    margin-top: 10px;
    display: none;
    
    text-align: center;
  }
  .menu-item.dropdown.active > .dropdown-content {
    display: block;
  }
  
  /* ── 링크: 네온 오렌지 + 화이트 ── */
  .menu-item a {
    color: #fff;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    text-decoration: none;
    
    transition: color 0.3s, text-shadow 0.3s;
    font-weight: bold;          /* 글씨 두껍게 */
  
  }
  .menu-item a:hover {
    color: #ffffff;
    text-shadow: 0 0 6px rgba(255, 255, 255, 0.652), 0 0 8px rgba(255,255,255,0.6);
  }
  
  /* ── 메인 콘텐츠 여백 ── */
  .parent-container {
    display: flex;
    justify-content: center;
  }
  .main-content {
    padding-top: 80px;
  }
  
  /* ── 테이블: 3D 블루 글라스 ── */
  table {
    padding: 6px 8px;
  
    margin: 5px auto;
    border-collapse: collapse;
    
    border-radius: 30px;
    background: linear-gradient(145deg, rgba(10, 20, 60, 0.038), rgba(10, 20, 60, 0.142));
    backdrop-filter: blur(18px)  ;
    -webkit-backdrop-filter: blur(10px)    
    ;
    border: 3px solid rgba(255, 255, 255, 0.058);
  
    box-shadow:
  inset 0px 0px 3.03px -9px rgb(62 63 184 / 32%), inset 1px 0.01px 0px -14px rgb(30 37 163 / 56%), inset 0px 0px 10px 3px rgb(82 80 112 / 20%), 0px 0px 2px 1px rgb(47 43 93 / 53%), 0.3px 0.3px 1px rgb(123 125 238 / 30%);
  
    border: 0px solid rgba(255, 255, 255, 0); /* 얇은 경계선 */
      transform: translateZ(10px);
    transition: transform 0.3s ease;
  }
  table th, table td {
    padding: 2px;
    word-wrap: break-word;
  }

  table td:hover {
    background: rgba(255,255,255,0.08);
    cursor: pointer;
  }
  
  /* ── 폼: 3D 블루 글라스 ── */
  form {
    
    margin: 0 auto 10px auto;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    align-items: center;

    box-sizing: border-box;
    border: 3px solid rgba(255, 255, 255, 0.058);
  
    border-radius: 20px; 
    background: rgba(2, 30, 72, 0.225); /* 반투명 블루 */
    backdrop-filter: blur(18px)  ;
    -webkit-backdrop-filter: blur(10px)    
    ;
    box-shadow:
  inset 0px 0px 3.03px -9px rgb(62 63 184 / 32%), inset 1px 0.01px 0px -14px rgb(30 37 163 / 56%), inset 0px 0px 10px 3px rgb(82 80 112 / 20%), 0px 0px 2px 1px rgb(47 43 93 / 53%), 0.3px 0.3px 1px rgb(123 125 238 / 30%);
  
    transition: all 0.3s ease-in-out;
  }
  
  /* ── 수정된 글래스모피즘 3D input & select ── */
  input[type="number"],
  input[type="text"],
  select {
    position: relative;
    text-align: center;
    /* 블러 효과 제거 */
    /* backdrop-filter: blur(12px); */
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 18px;
    
    box-shadow:
      /* 네온 블루 힌트 */
      0 0 10px rgba(0, 180, 255, 0.3),
      /* 떠 있는 듯한 외부 그림자 */
      0 8px 24px rgba(0, 0, 0, 0.20),
      /* 내부 하이라이트 */
      inset 0 1px 2px rgba(255, 255, 255, 0.3);
    overflow: hidden;
    transition: all 0.25s ease-in-out;
    transform: perspective(400px) translateZ(4px);
  }
  
  
  /* ── 버튼: 레드 네온 글라스 ── */
  button {
    
  
    font-size: 1.0rem;
    background: rgba(20, 201, 10, 0.48);
    backdrop-filter: blur(6px) ;
    -webkit-backdrop-filter: blur(6px) ;
    border: 1px solid rgba(255, 255, 255, 0.54);
    border-radius: 6px;
    color: #fff;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    box-shadow: 0 0 8px rgba(246, 246, 246, 0.176), 0 0 12px rgba(255,255,255,0.6);
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    transform: none; /* ← 수정: 클릭 위치 이상 방지 */
  }
  button:hover {
    background: rgba(255, 0, 0, 0.56);
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.507), 0 0 16px rgba(255,255,255,0.8);
  }
  
  /* ── 체크박스: 네오뮤퍼즘 + 블루-퍼플 글라데이션 글라스 ── */
  .filter-pill input[type="checkbox"] {
    appearance: none;
    width: 26px;
    height: 26px;
    background: linear-gradient(145deg, rgba(150, 180, 255, 0.15), rgba(200, 155, 255, 0.15));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    cursor: pointer;
    position: relative;
    box-shadow:
      /* 외곽 라이트 쉐도우 */
      -4px -4px 8px rgba(255, 255, 255, 0.6),
      /* 외곽 다크 쉐도우 */
      4px 4px 8px rgba(0, 0, 0, 0.2),
      /* 내부 글라스 효과 */
      inset 0 0 6px rgba(255, 255, 255, 0.2);
    transition: all 0.25s ease-in-out;
    margin-right: 8px;
    flex-shrink: 0;
    vertical-align: middle;
  }
  
  .filter-pill input[type="checkbox"]:hover {
    box-shadow:
      -4px -4px 12px rgba(255, 255, 255, 0.8),
      4px 4px 12px rgba(0, 0, 0, 0.25),
      inset 0 0 8px rgba(255, 255, 255, 0.3);
  }
  
  .filter-pill input[type="checkbox"]:active {
    transform: scale(0.95);
  }
  
  .filter-pill input[type="checkbox"]:checked {
    background: linear-gradient(145deg, rgba(150, 180, 255, 0.3), rgba(200, 155, 255, 0.3));
    border-color: rgba(255, 255, 255, 0.7);
    box-shadow:
      inset 2px 2px 4px rgba(0, 0, 0, 0.25),
      inset -2px -2px 4px rgba(255, 255, 255, 0.4);
  }
  
  .filter-pill input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 5px;
    width: 5px;
    height: 9px;
    border: solid rgba(50, 50, 50, 0.8);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
  }
  
  /* 선택 해제 버튼에 글라스 호버 효과 추가 */
  #clearFilter:hover {
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 2px 6px rgba(0,0,0,0.3), 0 0 4px rgba(255,255,255,0.2);
    transition: all 0.2s ease-in-out;
  }
  
  
  
  /* ── 헤더 반사광(Shine) 효과 ── */
  
  header::before {
    content: "";
    position: absolute;
    top: 0; left: -150%;
    width: 150%; height: 100%;
    background: linear-gradient(
      120deg,
      transparent 40%,
      rgba(255,255,255,0.8) 50%,
      transparent 60%
    );
    transform: skewX(-25deg);
    animation: shine 6s infinite;
    pointer-events: none;
  }
  @keyframes shine {
    0%   { left: -150%; }
    50%  { left: 150%; }
    100% { left: 150%; }
  }
  
  /* ── 로고 애니메이션 ── */
  .header-container .logo-link img {
    display: block;
    transition: transform 0.4s ease, filter 0.4s ease;
  }
  .header-container .logo-link img:hover {
    transform: scale(1.2) rotate(-5deg);
    filter: drop-shadow(0 0 8px rgba(0,200,255,0.8));
  }
  @keyframes logo-pulse {
    0%,100% { transform: translate(-50%, -50%) scale(1); filter: brightness(0.9); }
    50%     { transform: translate(-50%, -50%) scale(1.5); filter: brightness(1.2); }
  }
  .header-container .logo-link {
    animation: logo-pulse 4s ease-in-out infinite;
  }
  
  
  
  /* ── 반사광 애니메이션 재정의 (헤더 외 다른 요소에도 적용 가능) ── */
  .shine-effect {
    position: relative;
    overflow: hidden;
  }
  .shine-effect::before {
    content: "";
    position: absolute;
    top: 0; left: -150%;
    width: 150%; height: 100%;
    background: linear-gradient(
      120deg,
      transparent 30%,
      rgba(255, 255, 255, 0.359) 50%,
      transparent 70%
    );
    transform: skewX(-25deg);
    animation: shine 6s infinite;
    pointer-events: none;
  }
  
  /* ── 느린 반사광 키프레임 ── */
  @keyframes shine-slow {
    0%   { left: -150%; }
    50%  { left: 150%; }
    100% { left: 150%; }
  }
  
  /* ── 헤더와 shine-effect 클래스 반사광 속도 조정 ── */
  header::before,
  .shine-effect::before {
    animation: shine-slow 6s infinite;
  }
  
  
  
  
  
    /* ===== 탭 컨테이너 스타일 ===== */
    .tabs { 
      display: flex;              /* 가로로 버튼을 나열하는 Flex 컨테이너 */
      border-bottom: 2px solid #ffffff; /* 탭 아래 경계선 */
      margin-bottom: 0em;         /* 콘텐츠와 간격 */
    }
    .tabs button {
      flex: 1;                    /* 모든 버튼 동일한 너비 */
      padding: 0;                 /* 내부 여백 제거 */
      margin: 0;                  /* 버튼 간 마진 제거 */
      background:rgba(31, 1, 128, 0.17);        /* 배경색 변경 */
      border: none;               /* 기본 테두리 제거 */
      border-right: 1px solid #ddd; /* 버튼 사이 경계선 */
      cursor: pointer;            /* 마우스 커서 변환 */
      font-size: 0.75em;          /* 글자 크기 더 작게 */
      transition: background 0.2s; /* 호버 시 배경 전환 효과 */
    }
    .tabs button:last-child { 
      border-right: none;         /* 마지막 버튼에는 우측 경계선 제거 */
    }
    .tabs button:hover { 
      background:rgba(0, 0, 0, 0.1);        /* 호버 시 배경색 변경 */
    }
    .tabs button.active {
      background:rgba(251, 0, 0, 0.4);             /* 활성 탭 배경 */
      border-bottom: 3px solidrgba(255, 0, 0, 0.54); /* 활성 탭 강조 밑줄 */
      font-weight: bold;          /* 활성 탭 글자 굵게 */
    }
  
    /* ===== 탭 콘텐츠 스타일 ===== */
    .tab-content > div {
      display: none;              /* 기본적으로 모든 콘텐츠 숨김 */
      padding: 0.8em;             /* 내부 여백 */
      background:rgba(0, 0, 0, 0);        /* 배경색 변경 */
      border: 1px solid #ddd;     /* 테두리 */
      border-top: none;           /* 위쪽 테두리는 탭과 겹침 방지 */
      border-radius: 30px 30px 30px 30px; /* 하단 모서리 둥글게 */
      font-size: 0.9em;           /* 글자 크기 */
    }
    .tab-content > div.active { 
      display: block;             /* 활성 탭에 해당하는 콘텐츠만 보이기 */
    }
}


/* 공통 클래스 */
.cursor-pointer {cursor: pointer;}

/* 컬러 변수설정 */
.main-bg {background: var(--primaryColor) !important;}
.cont-bg {background:var(--contBg) !important;}
.wrapper-bg {background:var(--wrapperBg) !important;}
.card-bg {background: var(--cardBg) !important;}
.bov-bg {background: var(--bovHover) !important;}
.input-bg {background: var(--inputBg) !important;}
.ft-copy-bg {background: var(--ftCopyBg) !important;}
.point-bg {background: var(--pointBg) !important;}
.main-bb {border-bottom: var(--border) !important;}
.main-bt {border-top: var(--border) !important;}
.main-border {border: var(--border) !important;}
.sub-border {border: var(--subBorder) !important;}
.input-border {border: var(--inputBorder) !important;}
.file-border {border: var(--fileBorder) !important;}
.main-font {color: var(--fontColor) !important;}
.sub-font {color: var(--subFontColor) !important;}
.em-font {color: var(--primaryColor) !important;}
.btn-invert {filter: var(--btnInvert)}
.pointer {cursor: pointer;}
.transition-effect { transition: all 0.2s; -webkit-transition: all 0.2s; -moz-transition: all 0.2s; -ms-transition: all 0.2s; -o-transition: all 0.2s; }
.break-word {word-wrap: break-word;}
.text-truncate {white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}

/* 메뉴 슬라이드 */
#gnb .dropdown:hover > .dropdown-menu {display: flex;}

/* 화면낭독기 사용자용 */
#hd_login_msg, .msg_blind, .blind { position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: polygon(0 0, 0 0, 0 0); }

/* 메인메뉴 */
#gnb .gnb_wrap:hover, #gnb .gnb_wrap:focus, #gnb .gnb_wrap:active { z-index:3 }
.gnb_wrap .gnb_al_ul .gnb_empty, .gnb_wrap .gnb_al_ul .gnb_empty a { color:#555 }

/* 메인 배너 슬라이더 */
.main-slider .slide-item .slide-con .img-box::after, .main-slider .swiper-slide .slide-con .img-box::after { content:''; display:block; width:100%; height:100%; position:absolute; top:0; left:0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 47.92%, rgba(0, 0, 0, 0.8) 100%); }
.main_photo {width: calc(100% - 240px);}
.main_aside {width: 240px;height: 750px;}

/* 하단 레이아웃 */
#top_btn { position:fixed; bottom:20px; right:20px; width:50px; height:50px; line-height:46px; border:var(--topBtnBorder); color:var(--primaryColor); text-align:center; font-size:1.5rem; z-index:90; background:var(--bodyBg); border-radius: 3px; } 
#top_btn:hover { border-color:var(--primaryColor); background:var(--primaryColor); color:#fff } 

/* 아웃로그인 스킨 */
#profile .ol a.btn_admin:focus, #profile .ol a.btn_admin:hover {text-decoration:none}
#profile .ol .login-sns{padding-bottom:0px}
#profile #ol_after_private li a:hover {color:var(--primaryColor);background:var(--bovHover)}
#profile #ol_after_private li:hover svg {color:var(--primaryColor)}
#profile #ol_after_private .win_point:hover strong {background:#37bc9b;color:#fff}
#profile #ol_after_private .win_memo:hover strong {background:#8cc152;color:#fff}
#profile #ol_after_private .win_scrap:hover strong {background:#ff8b77;color:#fff}
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box {position:relative}
.chk_box input[type="checkbox"] + label {position:relative;color:#676e70}
.chk_box input[type="checkbox"] + label:hover{color:var(--primaryColor)}
.chk_box input[type="checkbox"]:checked + label {color:var(--fontColor)}
.chk_box input[type="checkbox"]:checked + label span {background: url(/static/img/chk.png) no-repeat 50% 50% var(--primaryColor)!important;border-color: var(--primaryColor);border-radius: 3px;}

/* 모바일 메뉴 */
.gnb_mo .ol {position:relative;margin:0 0 10px;text-align:center;border-radius: 0;border: none;border-bottom: var(--border);}
.gnb_mo .ol h2 {margin:0;padding:0;width:0px;height:0px;font-size:0;line-height:0;overflow:hidden}
.gnb_mo #ol_before input[type=text], .gnb_mo #ol_before input[type=password] {width:100%;border:0;border-bottom:1px solid #434242;background:none;height:40px;;margin:0 0 10px;color:#fff}
.gnb_mo #ol_submit {width:100%;height:40px;border-radius:23px;font-weight:bold;font-size:1.3rem; }
.gnb_mo #ol_svc {text-align:left;color:#dadada;font-size:1.1rem;margin:5px 0 20px}
.gnb_mo .ol_before_btn {margin:15px 0 0;color:#aaa;line-height:1.2rem}
.gnb_mo .ol_before_btn a {color:#fff;display:inline-block;width:50%;float:left}
.gnb_mo #ol_password_lost {border-left:1px solid #777}
.gnb_mo #ol_after_hd {position:relative;background:#212020;padding:10px 15px}
.gnb_mo #ol_after_hd:after {display:block;visibility:hidden;clear:both;content:""}
.gnb_mo #ol_after_hd strong {display:block;float:left;color:#fff;padding:0 0 0 15px;line-height:40px}
.gnb_mo #ol_after_hd .btn_admin {float:left;display:block;padding:0 !important;text-align:center;color:#fff;margin-right:10px;background:#d13f4a;width:30px}
.gnb_mo #ol_after_hd .profile_img {position:relative;float:left;display:inline-block}
.gnb_mo #ol_after_hd .profile_img img {width:37px;height:37px;border-radius:50%}
.gnb_mo #ol_after_info {position:absolute;bottom:-5px;right:-5px;width:20px;height:20px;line-height:18px;text-align:center;border-radius:50%;background:#212020}
.gnb_mo #ol_after_info svg {color:#fff;font-size:1.2rem} 
.gnb_mo #ol_after_private {clear:both;margin-top:15px;background:var(--contBg);padding:0;list-style:none;border-bottom:var(--border)}
.gnb_mo #ol_after_private:after {display:block;visibility:hidden;clear:both;content:""}
.gnb_mo #ol_after_private li {position:relative;float:left;width:33.333%;text-align:left;border-right:var(--border)}
.gnb_mo #ol_after_private li a {color:var(--fontColor)}
.gnb_mo #ol_after_private svg {margin:0 5px 0 0;color:#b9bcbf;font-size:1.4rem}
.gnb_mo #ol_after_private strong {position:absolute;top:16px;right:10px}
.gnb_mo #ol_after_private li strong{color:#fff;padding:0 5px;border-radius:15px;font-size:1.1rem}
.gnb_mo #ol_after_private li:nth-child(1) strong {background:#8cc152;}
.gnb_mo #ol_after_private li:nth-child(2) strong {background:#37bc9b;}
.gnb_mo #ol_after_private li:nth-child(3) strong {background:#ff8b77;}
.gnb_mo #ol_after_private a {display:inline-block;padding:15px 10px}
.gnb_mo #ol_after_btn {position:absolute;top:15px;right:55px}
.gnb_mo #ol_after_btn a {display:inline-block;padding:0 10px;line-height:30px;color:#fff;border-radius:3px;font-weight:bold}
.gnb_mo #ol_after_logout {border: 1px solid #ffffff40;color:#fff}

/* 모바일 반응형 GNB메뉴 */
.gnb_mo { display:none; background:var(--wrapperBg); position:fixed; top:0; left:0; z-index:99999; width:100%; max-width:400px; height:100%; overflow-y:auto; -webkit-box-shadow:0 0 5px var(--gnbShadowBg); -moz-box-shadow:0 0 5px var(--gnbShadowBg); box-shadow:0 0 5px var(--gnbShadowBg) } 
.gnb_mo #gnb_1dul a { display:block; color:var(--fontColor) } 
.gnb_mo .gnb_1dli { position:relative; line-height:40px; } 
.gnb_mo .gnb_1dli button {
  /* Keep position, width, height, etc. */
  position: absolute; top: 5px; right: 0; width:70px; height:40px;
  overflow: hidden; border:0; 
  text-indent: -9999px; /* Still useful to hide any accidental text */
  /* Remove background-image */
}

.gnb_mo .gnb_1dli button::before {
  content: "\f078"; /* Font Awesome 'chevron-down' icon example */
  font-family: "Font Awesome 5 Free"; /* Or your specific font-family */
  font-weight: 900; /* For solid icons */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 16px; /* Adjust icon size */
  color: #333; /* Icon color */
  text-indent: 0; /* Make icon visible */
}

.gnb_mo .gnb_1dli button.btn_gnb_cl::before {
  content: "\f077"; /* Font Awesome 'chevron-up' icon example */
}
.gnb_mo .gnb_1da { padding:5px 20px; background: var(--contBg); border-bottom:var(--border); font-weight:bold; font-size:1.4rem; } 
.gnb_mo .gnb_2dul { display:none;  } 
.gnb_mo .gnb_2da { padding-left:30px } 
#gnb_close { display:block; position:absolute; right:8px; top:10px; z-index:99; font-weight:bold; margin:0; height:40px; width:40px; border:0; color:#bfb8b2; font-size:2.4rem; background:transparent } 
.gnb_mo #hd_nb { background:var(--contBg); margin-top:10px; border-bottom:var(--border);border-top: var(--border); } 
.gnb_mo #hd_nb:after { display:block; visibility:hidden; clear:both; content:"" } 
.gnb_mo #hd_nb li { width:50%; float:left; text-align:center; line-height:25px; font-size:1.3rem; font-weight:bold } 
.gnb_mo #hd_nb li a { display:block; color:var(--fontColor); text-align:left; padding:10px 15px } 
.gnb_mo #hd_nb li svg { font-size:1.4rem; margin-right:10px; color:#a5a8ac } 
.gnb_mo #hd_nb .hd_nb1 { border-right:var(--border); border-bottom:var(--border) } 
.gnb_mo #hd_nb .hd_nb2 { border-bottom:var(--border) } 
.gnb_mo #hd_nb .hd_nb3 { border-right:var(--border) } 
.gnb_mo a.btn_b01 { border: 1px solid #727272; height: auto; padding: 10px; }
.gnb_mo a.btn_b01:hover { color: #ffffff; }
.gnb_mo a.btn_b02 { height: auto; padding: 10px; margin-left: 6px; }

/* 설문조사 스킨 */
.chk_box input[type="radio"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box input[type="radio"] + label {position:relative;padding-left:23px;display:inline-block;color:var(--fontColor)}
.chk_box input[type="radio"] + label span {position:absolute;top:0;left:0;width:15px;height:15px;display:block;background:#fff;border:1px solid #cdd6df;border-radius:50%}
.chk_box input[type="radio"]:checked + label {color:var(--primaryColor)}
.chk_box input[type="radio"]:checked + label span:before {width:7px;height:7px;background:var(--primaryColor);content:'';position:absolute;top:3px;left:3px;border-radius:50%}

/* 접속자 집계 */
#visit li span:after {position:absolute;left:0;top:50%;transform: translateY(-50%);width:5px;height:5px;background:#fff;content:"";border-radius:5px}
#visit .btn_admin {position:absolute;top:0;right:15px}

/* 팝업레이어 */
#hd_pop { z-index:1000; position:relative; margin:0 auto; height:0 }
.hd_pops { position:absolute; border:1px solid #e9e9e9; background:#fff }
.hd_pops img { max-width:100% }
.hd_pops_con { }
.hd_pops_footer { padding:0; background:#000; color:#fff; text-align:left; position:relative }
.hd_pops_footer:after { display:block; visibility:hidden; clear:both; content:"" }
.hd_pops_footer button { padding:10px; border:0; color:#fff }
.hd_pops_footer .hd_pops_reject { background:#000; text-align:left }
.hd_pops_footer .hd_pops_close { background:#393939; position:absolute; top:0; right:0 }

/* 게시물 선택복사 선택이동 */
#copymove .win_desc { text-align:center; display:block }
#copymove .tbl_wrap { margin:20px }
#copymove .win_btn { padding:0 20px 20px }
.copymove_current { float:right; background:#ff3061; padding:5px; color:#fff; border-radius:3px }
.copymove_currentbg { background:var(--copyHvBg) }

/* 본문 바로가기 */
#skip_to_container a { z-index:100000; position:absolute; top:0; left:0; width:1px; height:1px; font-size:0; line-height:0; overflow:hidden } 
#skip_to_container a:focus, #skip_to_container a:active { width:100%; height:75px; background:#21272e; color:#fff; font-size:2.4rem; font-weight:bold; text-align:center; text-decoration:none; line-height:4rem } 

/* ie6 이미지 너비 지정 */
.img_fix { width:100%; height:auto }

/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha { display:inline-block; position:relative } 
#captcha #captcha_img { height:40px; border:1px solid #898989; vertical-align:top; padding:0; margin:0 } 
#captcha #captcha_mp3 { margin:0; padding:0; width:40px; height:40px; border:0; background:transparent; vertical-align:middle; overflow:hidden; cursor:pointer; background:url('/static/img/captcha2.png') no-repeat; text-indent:-999px; border-radius:3px } 
#captcha #captcha_reload { margin:0; padding:0; width:40px; height:40px; border:0; background:transparent; vertical-align:middle; overflow:hidden; cursor:pointer; background:url('/static/img/captcha2.png') no-repeat 0 -40px; text-indent:-999px; border-radius:3px } 
#captcha #captcha_key { margin:0 0 0 3px; padding:0 5px; width:90px; height:40px; border:1px solid #ccc; background:#fff; font-size:1.6rem; font-weight:bold; text-align:center; border-radius:3px; vertical-align:top } 
#captcha #captcha_info { display:block; margin:5px 0 0; font-size:1.1rem; letter-spacing:-0.1rem } 

/* 캡챠 자동등록(입력)방지 기본 - mobile */
#captcha.m_captcha audio { display:block; margin:0 0 5px; width:187px } 
#captcha.m_captcha #captcha_img { width:160px; height:60px; border:1px solid #e9e9e9; margin-bottom:3px; margin-top:5px; display:block } 
#captcha.m_captcha #captcha_reload { position:static; margin:0; padding:0; width:40px; height:40px; border:0; background:transparent; vertical-align:middle; overflow:hidden; cursor:pointer; background:url('/static/img/captcha2.png') no-repeat 0 -40px; text-indent:-999px } 
#captcha.m_captcha #captcha_reload span { display:none } 
#captcha.m_captcha #captcha_key { margin:0; padding:0 5px; width:115px; height:29px; border:1px solid #b8c9c2; background:#f7f7f7; font-size:1.6rem; font-weight:bold; text-align:center; line-height:29px; margin-left:3px } 
#captcha.m_captcha #captcha_info { display:block; margin:5px 0 0; font-size:1.1rem; letter-spacing:-0.1rem } 
#captcha.m_captcha #captcha_mp3 { width:31px; height:31px; background:url('/static/img/captcha2.png') no-repeat 0 0; vertical-align:top; overflow:hidden; cursor:pointer; text-indent:-9999px; border:none } 

/* ckeditor 단축키 */
.cke_sc { margin:0 0 5px; text-align:right } 
.btn_cke_sc { display:inline-block; padding:0 10px; height:23px; border:1px solid #ccc; background:#fafafa; color:#000; text-decoration:none; line-height:2.3rem; vertical-align:middle; cursor:pointer } 
.cke_sc_def { margin:0 0 5px; padding:10px; border:1px solid #ccc; background:#f7f7f7; text-align:center } 
.cke_sc_def dl { margin:0 0 5px; text-align:left; zoom:1 } 
.cke_sc_def dl:after { display:block; visibility:hidden; clear:both; content:"" } 
.cke_sc_def dt, .cke_sc_def dd { float:left; margin:0; padding:5px 0; border-bottom:1px solid #e9e9e9 } 
.cke_sc_def dt { width:20%; font-weight:bold } 
.cke_sc_def dd { width:30% } 

/* 버튼 */
a.btn,.btn { line-height:35px; height:35px; padding:0 10px; text-align:center; font-weight:bold; border:0; font-size:1.7rem;transition:background-color 0.3s ease-out } 
a.btn01 { display:inline-block; padding:7px; border:1px solid #ccc; background:#fafafa; color:#000; text-decoration:none; vertical-align:middle }
a.btn01:focus, a.btn01:hover { text-decoration:none }
button.btn01 { display:inline-block; margin:0; padding:7px; border:1px solid #ccc; background:#fafafa; color:#000; text-decoration:none }
a.btn02 { display:inline-block; padding:7px; border:1px solid #3b3c3f; background:#4b545e; color:#fff; text-decoration:none; vertical-align:middle }
a.btn02:focus, .btn02:hover { text-decoration:none }
button.btn02 { display:inline-block; margin:0; padding:7px; border:1px solid #3b3c3f; background:#4b545e; color:#fff; text-decoration:none }

.btn_submit { border:0; background:var(--primaryColor); color:#fff; cursor:pointer; border-radius:3px ; -webkit-border-radius:3px ; -moz-border-radius:3px ; -ms-border-radius:3px ; -o-border-radius:3px ; }
.btn_submit:hover { background:#285981 }
.btn_close { border:var(--border); cursor:pointer; border-radius:3px; background:var(--inputBg); color: var(--fontColor); }
a.btn_close { text-align:center; line-height:50px }

a.btn_cancel { display:inline-block; background:#969696; color:#fff; text-decoration:none; vertical-align:middle } 
button.btn_cancel { display:inline-block; background:#969696; color:#fff; text-decoration:none; vertical-align:middle } 
.btn_cancel:hover { background:#aaa } 
a.btn_frmline, button.btn_frmline { display:inline-block; width:128px; padding:0 5px; height:45px; border:0; background:#434a54; border-radius:3px; color:#fff; text-decoration:none; vertical-align:top } /* 우편번호검색버튼 등 */
a.btn_frmline { } 
button.btn_frmline { font-size:1.2rem } 

/* 게시판용 버튼 */
a.btn_b01,button.btn_b01,.btn_b01 { display:inline-block; color:#bababa; text-decoration:none; vertical-align:middle; border:0; background:transparent }
.btn_b01:hover, .btn_b01:hover { color:var(--fontColor) !important}
a.btn_b02,.btn_b02 { display:inline-block; background:var(--primaryColor); height: 45px; padding:0 10px; color:#fff; text-decoration:none; border:0; vertical-align:middle }
a.btn_b02:hover, .btn_b02:hover { background:#285981 }
a.btn_b03, .btn_b03 { display:inline-block; background:var(--contBg); border:1px solid #b9bdd3; color:#646982; text-decoration:none; vertical-align:middle }
a.btn_b03:hover, .btn_b03:hover { background:#ebedf6 }
a.btn_b04, .btn_b04 { display:inline-block; background:#fff; border:1px solid #ccc; color:#707070; text-decoration:none; vertical-align:middle }
a.btn_b04:hover, .btn_b04:hover { color:#333; background:#f9f9f9 }
a.btn_admin,.btn_admin { display:inline-block; color:#d13f4a; text-decoration:none; vertical-align:middle }/* 관리자 전용 버튼 */
.btn_admin:hover, a.btn_admin:hover { color:#ff3746 }

/* 기본테이블 */
.tbl_wrap table { width:100%; border-collapse:collapse; border-spacing:0 5px; border-top:var(--border); border-bottom:var(--border); font-size: 1.4rem;} 
.tbl_wrap caption { padding:10px 0; font-weight:bold; text-align:left } 
.tbl_head01 { margin:0 0 10px } 
.tbl_head01 caption { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: polygon(0 0, 0 0, 0 0); } 
.tbl_head01 thead th { padding:20px 0; font-weight:normal; text-align:center; border-bottom:var(--border); height:40px; color: var(--fontColor); } 
.tbl_head01 thead th a { color: var(--fontColor); } 
.tbl_head01 thead th input { vertical-align:top } /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head01 tfoot th, .tbl_head01 tfoot td { padding:10px 0; border-top:1px solid #c1d1d5; border-bottom:1px solid #c1d1d5; background:#d7e0e2; text-align:center } 
.tbl_head01 tbody th { padding:8px 0; border-bottom:1px solid #e8e8e8 } 
.tbl_head01 td { color:var(--tdColor); padding:10px 5px; border-top:var(--border); border-bottom:var(--border); line-height:1.6rem; height:60px; word-break:break-all } 
.tbl_head01 tbody tr:hover td { background:var(--bovHover) }
.tbl_head01 a { text-decoration:none } 
.tbl_head01 a:hover { text-decoration:underline } 

.tbl_head02 { margin:0 0 10px } 
.tbl_head02 caption { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: polygon(0 0, 0 0, 0 0); } 
.tbl_head02 thead th { padding:5px 0; border-top:1px solid #d1dee2; border-bottom:1px solid #d1dee2; background:#e5ecef; color:#383838; font-size:1.1rem; text-align:center; letter-spacing:-0.1rem } 
.tbl_head02 thead a { color:#383838 } 
.tbl_head02 thead th input { vertical-align:top } /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head02 tfoot th, .tbl_head02 tfoot td { padding:10px 0; border-top:1px solid #c1d1d5; border-bottom:1px solid #c1d1d5; background:#d7e0e2; text-align:center } 
.tbl_head02 tbody th { padding:5px 0; border-top:1px solid #e9e9e9; border-bottom:1px solid #e9e9e9; background:#fff } 
.tbl_head02 td { padding:5px 3px; border-top:1px solid #e9e9e9; border-bottom:1px solid #e9e9e9; background:#fff; line-height:1.6rem; word-break:break-all } 
.tbl_head02 a {text-decoration: none;} 

/* 폼 테이블 */
.tbl_frm01 { margin:0 0 20px }
.tbl_frm01 table { width:100%; border-collapse:collapse; border-spacing:0 }
.tbl_frm01 th { width:70px; padding:7px 13px; border:1px solid #e9e9e9; border-left:0; background:#f5f8f9; text-align:left }
.tbl_frm01 td { padding:7px 10px; border-top:1px solid #e9e9e9; border-bottom:1px solid #e9e9e9; background:transparent }
.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input { border: var(--inputBorder); background:var(--inputBg); color:var(--fontColor); vertical-align:middle; border-radius: 3px; padding:5px; }
.tbl_frm01 textarea { padding:2px 2px 3px }
.frm_input { height:45px }

.full_input { width: 100%; } 
.half_input { width:49.5% } 
.twopart_input { width:385px; margin-right:10px } 
.tbl_frm01 textarea, .write_div textarea { width:100%; min-height:400px; background: var(--inputBg); border: var(--inputBorder); color: var(--fontColor); } 
.tbl_frm01 a { text-decoration:none } 
.tbl_frm01 .frm_file { display:block; margin-bottom:5px } 
.tbl_frm01 .frm_info { display:block; padding:0 0 5px; line-height:1.6rem } 

/*기본 리스트*/
.list_01 ul { border-top:1px solid #ececec }
.list_01 li { border-bottom:1px solid #ececec; background:#fff; padding:10px 15px; list-style:none; position:relative }
.list_01 li:nth-child(odd) { background:#f6f6f6 }
.list_01 li:after { display:block; visibility:hidden; clear:both; content:"" }
.list_01 li:hover { background:#f9f9f9 }
.list_01 li.empty_li { text-align:center; padding:20px 0; color:#666 }

/*폼 리스트*/
.form_01 h2 { margin:0; padding:0; font-size:1.4rem } 
.form_01 li { margin-bottom:24px } 
.form_01 .margin_input { margin-right:1% }
.form_01 textarea { height:100px; width:100% }
.form_01 .frm_label { display:inline-block; width:130px }
.form_01 ul li input[type="file"]::file-selector-button { width: 150px; height: 30px; background: var(--primaryColor); color: #fff; border-radius: 4px; border: none; cursor: pointer; margin-right: 10px; }
.form_01 ul li input[type="file"]::file-selector-button:hover { background: #285981; }

/* 자료 없는 목록 */
.empty_table { padding:50px 0 !important; text-align:center }
.empty_list { padding:20px 0 !important; color:#666; text-align:center }

/* 필수입력 */
.required, textarea.required { background-image:url('/static/img/require.png') !important; background-repeat:no-repeat !important; background-position:right top !important }

/* 테이블 항목별 정의 */
.td_board { width:80px; text-align:center }
.td_category { width:80px; text-align:center }
.td_chk { width:30px; text-align:center }
.td_date { width:60px; text-align:center }
.td_datetime { width:110px; text-align:center }
.td_group { width:80px; text-align:center }
.td_mb_id { width:100px; text-align:center }
.td_mng { width:80px; text-align:center }
.td_name { width:100px; text-align:center }
.td_nick { width:100px; text-align:center }
.td_num { width:50px; text-align:center }
.td_numbig { width:80px; text-align:center }
.td_stat { width:60px; text-align:center }

.txt_active { color:#5d910b }
.txt_done { color:#e8180c }
.txt_expired { color:#ccc }
.txt_rdy { color:#8abc2a }

/* 새창 기본 스타일 */
.new_win { position:relative } 
.new_win ul { margin-bottom: 15px; } 
.new_win .tbl_wrap { margin:0 20px } 
.new_win #win_title { font-size:1.5rem; height:50px; line-height:30px; margin:0; padding:10px 20px; background:var(--contBg); color:var(--fontColor);box-shadow:0 1px 10px rgba(0,0,0,.1) } 
.new_win #win_title .sv { font-size:1.1rem; line-height:1.4rem } 
.new_win .win_ul { margin-bottom:15px; padding:0 20px } 
.new_win .win_ul:after { display:block; visibility:hidden; clear:both; content:"" } 
.new_win .win_ul li { float:left; background:var(--contBg); text-align:center; padding:0 10px; border:1px solid var(--primaryColor)60; border-radius:30px; margin-left:5px } 
.new_win .win_ul li:first-child { margin-left:0 } 
.new_win .win_ul li a { display:block; padding:8px 0; color:var(--primaryColor) } 
.new_win .win_ul .selected { background:var(--primaryColor); border-color:var(--primaryColor); position:relative; z-index:5 } 
.new_win .win_ul .selected a { color:#fff !important; font-weight:bold } 
.new_win .win_desc { position:relative; margin:10px; border-radius:5px; font-size:1.2rem; background:#f2838f; color:#fff; line-height:50px; text-align:left; padding:0 20px } 
.new_win .win_desc svg { font-size:1.4rem; vertical-align:baseline } 
.new_win .win_desc:after { content:""; position:absolute; left:0; top:0; width:4px; height:50px; background:#da4453; border-radius:3px 0 0 3px } 
.new_win .frm_info { font-size:1.1rem; color:#919191 } 
.new_win .win_total { float:right; display:inline-block; line-height:30px; font-weight:normal; font-size:1.1rem; color:var(--primaryColor); background:var(--wrapperBg); padding:0 10px; border-radius:5px } 
.new_win .new_win_con { margin:20px 0; padding:20px } 
.new_win .new_win_con:after { display:block; visibility:hidden; clear:both; content:"" } 
.new_win .new_win_con2 fs-5 pt-3 { margin:20px 0 } 
.new_win .btn_confirm:after { display:block; visibility:hidden; clear:both; content:"" } 
.new_win .win_btn { text-align:center; margin: 20px 0px; } 
.new_win .cert_btn { margin-bottom:30px; text-align:center } 
.new_win .btn_close { padding:0 20px; height:45px; overflow:hidden; cursor:pointer } 
.new_win .btn_submit { padding:0 20px; height:45px; font-weight:bold; font-size:1.3rem } 

/* 검색결과 색상 */
.sch_word { color:#fff; background:#ff005a; padding:2px 5px 3px; line-height:18px; margin:0 2px }

/* 자바스크립트 alert 대안 */
#validation_check { margin:100px auto; width:500px } 
#validation_check h1 { margin-bottom:20px; font-size:1.5rem } 
#validation_check p { margin-bottom:20px; padding:30px 20px; border:1px solid #e9e9e9; background:#fff } 

/* 사이드뷰 */
.sv_wrap .sv { z-index:1000; display:none; margin:5px 0 0; font-size:1.1rem; background:#333;box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2) } 
.sv_wrap .sv:before { content:""; position:absolute; top:-6px; left:15px; width:0; height:0; border-style:solid; border-width:0 6px 6px 6px; border-color:transparent transparent #333 transparent } 
.sv_wrap .sv a { display:inline-block; margin:0; padding:0 10px; line-height:30px; width:100px; font-weight:normal; color:#bbb } 
.sv_wrap .sv a:hover { background:#000; color:#fff } 
.sv_member { color:var(--fontColor) } 
.sv_on { display:block !important; position:absolute; top:23px; left:0px; width:auto; height:auto } 
.sv_nojs .sv { display:block } 

/* 페이징 */
.pagination { display:flex; justify-content: center; align-items: center; gap:3px; margin: 20px 0;}
.pagination .page { display:inline-block; padding:0 5px; min-width:30px; height:30px; line-height:28px; border-radius:3px; border:1px solid var(--pgBg); background:var(--pgBg); color:#959595; font-size:1.3rem; text-align:center; text-decoration:none }
.pagination .page:hover,
.pagination .page:focus { background-color:var(--pgHvBg); border:1px solid var(--pgBg) }
.pagination .current,
.pagination .current:hover,
.pagination .current:focus { background:var(--primaryColor); border:1px solid var(--primaryColor); color:#fff !important; font-weight:bold; }

.pg_wrap { clear:both; float:inherit; text-align: center; display:inline-block; width: 100%; } 
.pg_wrap:after { display:block; visibility:hidden; clear:both; content:"" } 
.pg { text-align:center } 
.pg_page, .pg_current { display:inline-block; vertical-align:middle; background:var(--pgBg); border:1px solid var(--pgBg) } 
.pg a:focus, .pg a:hover { text-decoration:none } 
.pg_page { color:#959595; font-size:1.3rem; height:30px; line-height:28px; padding:0 5px; min-width:30px; text-decoration:none; border-radius:3px } 
.pg_page:hover { background-color:var(--pgHvBg) } 
.pg_start { text-indent:-999px; overflow:hidden; background:url('/static/img/btn_first.gif') no-repeat 50% 50% var(--pgBg); padding:0; border:1px solid var(--pgBg) } 
.pg_prev { text-indent:-999px; overflow:hidden; background:url('/static/img/btn_prev.gif') no-repeat 50% 50% var(--pgBg); padding:0; border:1px solid var(--pgBg) } 
.pg_end { text-indent:-999px; overflow:hidden; background:url('/static/img/btn_end.gif') no-repeat 50% 50% var(--pgBg); padding:0; border:1px solid var(--pgBg) } 
.pg_next { text-indent:-999px; overflow:hidden; background:url('/static/img/btn_next.gif') no-repeat 50% 50% var(--pgBg); padding:0; border:1px solid var(--pgBg) } 
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover { background-color:var(--pgHvBg) } 
.pg_current { display:inline-block; background:var(--primaryColor); border:1px solid var(--primaryColor); color:#fff; font-weight:bold; height:30px; line-height:30px; padding:0 10px; min-width:30px; border-radius:3px }

/* cheditor 이슈 */
.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before {box-sizing:content-box; }

/* Mobile화면으로 */
#device_change { display:block; margin:0.4rem; padding:0.6rem 0; border:1px solid #eee; border-radius:2.4rem; background:#fff; color:#000; font-size:2.4rem; text-decoration:none; text-align:center } 
.errors { color:#ff0000; }

.dynamic_layer { position: absolute; background-color: #ffffff; /* 흰색 배경 */
 border: 1px solid #e0e0e0; /* 회색 테두리 */
 padding: 15px; /* 내부 패딩 */
 box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.2); /* 그림자 효과 */
 border-radius: 8px; /* 모서리 둥글게 *=
 font-family: 'Arial', sans-serif; /* 폰트 설정 */
 max-width: 300px; /* 최대 너비 설정 */
 z-index: 1000; /* 다른 요소 위에 올라오게 설정 */
 transition: opacity 0.3s ease; /* 투명도 애니메이션 효과 */}
.dynamic_layer:hover { opacity: 0.9; /* 마우스 오버 시 투명도 조절 */}

/* 게시판 목록 */
#bo_list .td_board { width:120px; text-align:center }
#bo_list .td_chk { width:30px; text-align:center; border-top:var(--border); border-bottom:var(--border) }
#bo_list .td_date { width:60px; text-align:center }
#bo_list .td_datetime { width:80px; text-align:center }
#bo_list .td_group { width:100px; text-align:center }
#bo_list .td_mb_id { width:100px; text-align:center }
#bo_list .td_mng { width:80px; text-align:center }
#bo_list .td_name { width:90px; text-align:center; padding:10px 0 }
#bo_list .td_nick { width:100px; text-align:center }
#bo_list .td_num { width:50px; text-align:center }
#bo_list .td_num2 { width:50px; text-align:center }
#bo_list .td_numbig { width:80px; text-align:center }
#bo_list .txt_active { color:#5d910b }
#bo_list .txt_expired { color:#ccc }
#bo_list tbody tr { border-left:2px solid transparent }
#bo_list tbody tr:hover { border-left:2px solid var(--primaryColor) }
#bo_list tbody .even td { background:var(--evenTdBg) }
#bo_cate a { display:block; line-height:28px; padding:5px 15px; border-radius:30px; border:1px solid #d6e9ff; color:#6794d3 }
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active { text-decoration:none; background:var(--primaryColor); color:#fff }
#bo_cate #bo_cate_on { z-index:2; background:var(--primaryColor); color:#fff; font-weight:bold; }
.td_subject img { margin-left:5px }

/* 게시판 목록 공통 */
.chk_box input[type="checkbox"] + label { position:relative; color:#676e70 }
.chk_box input[type="checkbox"] + label:hover { color:#2172f8 }
.chk_box input[type="checkbox"] + label span { float:left; width:15px; height:15px; display:block; background:#fff; border:1px solid #d0d4df; border-radius:3px }
.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label { padding-left:20px }
.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span { position:absolute; top:2px; left:0; width:15px; height:15px; display:block; margin:0; background:#fff; border:1px solid #d0d4df; border-radius:3px }
.chk_box input[type="checkbox"]:checked + label { color:var(--fontColor) }
.chk_box input[type="checkbox"]:checked + label span { background:url(./img/chk.png) no-repeat 50% 50% var(--primaryColor); border-color:#1471f6; border-radius:3px }

.bo_notice td { background:var(--boNoticeBg) !important; border-bottom:1px solid #f8e6ee }
.bo_notice td a { font-weight:bold }
.bo_notice .notice_icon { display:inline-block; line-height:25px; border-radius:5px; font-weight:bold; color:#f9267f }

/* 리스트 내 검색버튼 */
.bo_sch_wrap {display: none;}

/* 더보기 버튼 */
.more_opt { display:none; position:absolute; top:45px; right:40px; background:var(--contBg); border:var(--moreUlBorder); z-index:999 }
.more_opt:before { content:""; position:absolute; top:-8px; right:13px; width:0; height:0; border-style:solid; border-width:0 6px 8px 6px; border-color:transparent transparent var(--moreColor) transparent }
.more_opt:after { content:""; position:absolute; top:-6px; right:13px; width:0; height:0; border-style:solid; border-width:0 6px 8px 6px; border-color:transparent transparent var(--contBg) transparent }
.more_opt li { border-bottom:var(--moreLiBorder); padding:10px; float:inherit; width:90px; margin:0; color:#6b757c; text-align:left }
.more_opt li:last-child { border-bottom:0 }
.more_opt li button, .more_opt li a { width:100%; border:0; background:var(--contBg); color:#6b757c;text-decoration: none; font-size: 1.2rem; }
.more_opt li:hover a,
.more_opt li:hover button { color:var(--fontColor); }
.more_opt li svg { float:right; line-height:20px }

.td_num strong { color:#000 } 
.bo_cate_link { float:left; display:inline-block; margin-right:10px; background:#e2eaf6; color:var(--primaryColor); font-weight:normal !important; height:20px; line-height:10px; padding:5px 8px; border-radius:5px; font-size:1.1rem } /* 글제목줄 분류스타일 */
.bo_cate_link:hover { text-decoration:none } 
#bo_list .profile_img img { border-radius:50% } 
#bo_list .cnt_cmt { background:#e9eff5; color:var(--primaryColor); font-size:1.1rem; height:16px; line-height:16px; padding:0 5px; border-radius:3px; vertical-align:middle } 

#bo_list .bo_tit .title_icon { margin-right:2px } 
#bo_list .bo_tit .fa-heart { display:inline-block; width:10px;height: 10px;padding: 3px; color:#ff0000; background:#ffb9b9; text-align:center; border-radius:2px; vertical-align:middle } 
#bo_list .bo_tit .fa-lock { display:inline-block; width:10px;height: 10px;padding: 3px; color:#4f818c; background:#cbe3e8; text-align:center; border-radius:2px; font-size:1.2rem; border:1px solid #cbe3e8; vertical-align:middle } 
#bo_list .bo_tit .new_icon { display:inline-block; width:16px; line-height:16px; font-size:1rem; color:#23db79; background:#b9ffda; text-align:center; border-radius:2px; margin-left:2px; font-weight:bold; vertical-align:middle } 
#bo_list .bo_tit .fa-caret-right { color:#bbb } 
#bo_list .bo_tit .fa-download { display:inline-block; width:10px;height: 10px;padding: 3px; color:#daae37; background:#ffefb9; text-align:center; border-radius:2px; margin-left:5px; vertical-align:middle } 
#bo_list .bo_tit .fa-link { display:inline-block; width:10px;height: 10px;padding: 3px; color:#b451fd; background:#edd3fd; text-align:center; border-radius:2px; margin-left:5px; vertical-align:middle } 

/* 게시판 쓰기 */
#char_count_wrap { margin:5px 0 0; text-align:right }
#char_count { font-weight:bold }

html.no-overflowscrolling #autosave_pop { height:auto; max-height:10000px !important } /* overflow 미지원 기기 대응 */
#autosave_pop { display:none; z-index:10; position:absolute !important; top:34px; right:0; width:350px; height:auto !important; height:180px; max-height:180px; border:1px solid #565656; background:var(--contBg);-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2) } 
#autosave_pop:before { content:""; position:absolute; top:-8px; right:45px; width:0; height:0; border-style:solid; border-width:0 6px 8px 6px; border-color:transparent transparent var(--autoPopBg) transparent } 
#autosave_pop:after { content:""; position:absolute; top:-7px; right:45px; width:0; height:0; border-style:solid; border-width:0 6px 8px 6px; border-color:transparent transparent var(--contBg) transparent } 
#autosave_pop strong { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: polygon(0 0, 0 0, 0 0); } 
#autosave_pop div { text-align:center; margin:0 !important } 
#autosave_pop button { margin:0; padding:0; border:0 } 
#autosave_pop ul { padding:15px; border-top:var(--autoUlBorder); list-style:none; overflow-y:scroll; height:130px; border-bottom:var(--autoUlBorder) } 
#autosave_pop li { padding:8px 5px; border-bottom:var(--autoLiBorder); background:var(--autoBg); zoom:1; transition: all 0.2s; } 
#autosave_pop li:after { display:block; visibility:hidden; clear:both; content:"" } 
#autosave_pop li:hover { background: var(--autoHvBg); } 
#autosave_pop a { display:block; float:left } 
#autosave_pop span { display:block; float:right; font-size:1.1rem; font-style:italic; color:#999 } 
.autosave_close { cursor:pointer; width:100%; height:30px; background:none; color:#888; font-weight:bold; font-size:1.1rem } 
.autosave_close:hover { background:var(--bovHover); color:var(--primaryColor) } 
.autosave_content { display:none } 
.autosave_del { background:url(/static/img/close_btn.png) no-repeat 50% 50%; text-indent:-999px; overflow:hidden; height:20px; width:20px } 

/* 게시판 읽기 */
#bo_v_info .sv_member,
#bo_v_info .sv_guest,
#bo_v_info .member,
#bo_v_info .guest { font-weight:bold; color: var(--fontColor); }
#bo_v_info .member { color: var(--fontColor); }
#bo_v_info .profile_img { display:none }
#bo_v_info .sv_member { color:#000 }
#bo_v_info .if_date { margin:0; color:#888 }

/* 파일 다운로드 */
#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active { text-decoration:underline; color:var(--primaryColor) !important} 
#bo_v_file li:hover { border-color:var(--primaryColor) !important; color:#bed4f4 } 
#bo_v_file li:hover svg, #bo_v_file li:hover span { color:var(--primaryColor) } 

/* 링크 url */
#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active { text-decoration:underline; color:var(--primaryColor) !important} 
#bo_v_link li:hover { border-color:var(--primaryColor) !important; color:#bed4f4 } 
#bo_v_link li:hover svg, #bo_v_link li:hover span { color:var(--primaryColor) } 

/* 게시글 이동 버튼 */
#bo_v_nb li a { padding:20px; height: 100%; display: flex; justify-content: space-between; align-items: center; }
#bo_v_nb li a svg { width: 20px; height: 12px; text-align: center; vertical-align: middle; transform: rotate(-90deg);}
#bo_v_nb li .btn_prv { display: flex; background: var(--btnPrvBg); border: var(--border); text-align:left; margin-right: auto; } 
#bo_v_nb li .btn_next { display: flex; background: var(--primaryColor); text-align: right; margin-left: auto; } 

/* 게시글 내용 */
#bo_v_atc { min-height:200px; height:auto !important; }
#bo_v_act { margin-bottom:30px; text-align:center } 
#bo_v_act .bo_v_act_gng { position:relative } 
#bo_v_act a { margin-right:5px; vertical-align:middle; color:#4a5158 } 
#bo_v_act a:hover, #bo_v_act a.active { background-color:#fff; color:#ff484f; border-color:#ff484f } 
#bo_v_act svg { font-size:1.7rem; margin-right:5px } 
#bo_v_act_good, #bo_v_act_nogood { display:none; position:absolute; top:30px; left:0; z-index:9999; padding:10px 0; width:165px; background:#ff3061; color:#fff; text-align:center } 
#bo_v_act .bo_v_good { display:inline-block; border:1px solid #dedede; width:70px; line-height:46px; border-radius:30px } 
#bo_v_act .bo_v_nogood { display:inline-block; border:1px solid #dedede; width:70px; line-height:46px; border-radius:30px } 

#bo_v_img a.view_image { display:block }
#bo_v_img img { margin-bottom:20px; max-width:100%; height:auto }

#bo_v_con.textarea { margin:10px 0 30px; width:100%; line-height:2rem; min-height:200px; word-break:break-all; overflow:hidden; color: var(--fontColor); }
#bo_v_con.textarea ul { list-style:disc }
#bo_v_con.textarea a { color:#000; text-decoration:underline }
#bo_v_con.textarea img { max-width:100%; height:auto }
#bo_v_con.ckeditor4 { margin: 20px; font-family: "Malgun Gothic", "맑은 고딕"; line-height: 1.8; word-wrap: break-word; font-size: 1.2rem; }
#bo_v_con.ckeditor4 blockquote { padding: 2px 8px 0 10px; border-style: solid; border-color: #000; border-width: 0; border-left-width: 3px; margin: 0; }
#bo_v_con.ckeditor4 p { margin: 0; padding: 0; }
#bo_v_con.ckeditor4 a { color: #0782C1; }
#bo_v_con.ckeditor4 ol, #bo_v_con.ckeditor4 ul, #bo_v_con.ckeditor4 dl { margin-right: 0px; padding: 0 40px; }
#bo_v_con.ckeditor4 ul { list-style: disc; }
#bo_v_con.ckeditor4 h1, #bo_v_con.ckeditor4 h2, #bo_v_con.ckeditor4 h6 { font-weight: normal; line-height: 1.2; }
#bo_v_con.ckeditor4 hr { border: 0px; border-top: 1px solid #ccc; }
#bo_v_con.ckeditor4 p img { vertical-align: middle; }
#bo_v_con.ckeditor4 img.right { border: 1px solid #ccc; float: right; margin-left: 15px; padding: 5px; }
#bo_v_con.ckeditor4 img.left { border: 1px solid #ccc; float: left; margin-right: 15px; padding: 5px; }
#bo_v_con.ckeditor4 pre { white-space: pre-wrap; word-wrap: break-word; -moz-tab-size: 4; tab-size: 4; }
#bo_v_con.ckeditor4 .marker { background-color: Yellow; }
#bo_v_con.ckeditor4 span[lang] { font-style: italic; }
#bo_v_con.ckeditor4 figure { text-align: center; border: solid 1px #ccc; border-radius: 2px; background: rgba(0, 0, 0, 0.05); padding: 10px; margin: 10px 20px; display: inline-block; }
#bo_v_con.ckeditor4 figure>figcaption { text-align: center; display: block; }
#bo_v_con.ckeditor4 a>img { padding: 1px; margin: 1px; border: none; outline: 1px solid #0782C1; }
#bo_v_con.ckeditor4 .code-featured { border: 5px solid red; }
#bo_v_con.ckeditor4 .math-featured { padding: 20px; box-shadow: 0 0 2px rgba(200, 0, 0, 1); background-color: rgba(255, 0, 0, 0.05); margin: 10px; }
#bo_v_con.ckeditor4 .image-clean { border: 0; background: none; padding: 0; }
#bo_v_con.ckeditor4 .image-clean>figcaption { font-size: 1.1rem; text-align: right; }
#bo_v_con.ckeditor4 .image-grayscale { background-color: white; color: #666; }
#bo_v_con.ckeditor4 .image-grayscale img, #bo_v_con.ckeditor4 img.image-grayscale { filter: grayscale(100%); }
#bo_v_con.ckeditor4 .atwho-inserted { color: #4183C4 }
#bo_v_con.ckeditor4 .embed-240p { max-width: 426px; max-height: 240px; margin: 0 auto; }
#bo_v_con.ckeditor4 .embed-360p { max-width: 640px; max-height: 360px; margin: 0 auto; }
#bo_v_con.ckeditor4 .embed-480p { max-width: 854px; max-height: 480px; margin: 0 auto; }
#bo_v_con.ckeditor4 .embed-720p { max-width: 1280px; max-height: 720px; margin: 0 auto; }
#bo_v_con.ckeditor4 .embed-1080p { max-width: 1920px; max-height: 1080px; margin: 0 auto; }

/* 스크랩 버튼 */
#bo_v_share .btn { padding:0 10px; color:var(--bovTitColor); font-weight:normal; font-size:1.2rem; width:80px; line-height:35px; height:35px; border:var(--shareBorder); border-radius:5px } 
#bo_v_share .btn:hover { background:var(--bovHover) } 
#bo_v_share .btn svg { margin-right:5px; color:var(--bovTitColor); vertical-align:middle } 

/* 게시판 댓글 상단 */
#cmt_btn span.cmt_more { color: #bababa; } 
.cmt_btn_op span.cmt_more { transform: rotate(180deg); }

/* 게시판 댓글 목록 */
#bo_vc header .profile_img { display:none } 
#bo_vc header .icon_reply { position:absolute; top:15px; left:-20px } 
#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest { font-weight:bold } 
#bo_vc p a.s_cmt { text-decoration:underline; color:#ed6479 } 

/* 게시판 댓글 - 더보기버튼 */
.bo_vc_act { display:none; position:absolute; right:0; text-align:right; border:var(--moreUlBorder); margin:0; padding: 0; list-style:none; background:var(--contBg); z-index:9999 }
.bo_vc_act:before { content:""; position:absolute; top:-8px; right:5px; width:0; height:0; border-style:solid; border-width:0 6px 8px 6px; border-color:transparent transparent var(--moreColor) transparent }
.bo_vc_act:after { content:""; position:absolute; top:-6px; right:5px; width:0; height:0; border-style:solid; border-width:0 6px 8px 6px; border-color:transparent transparent var(--contBg) transparent }
.bo_vc_act li { border-bottom:var(--moreLiBorder) }
.bo_vc_act li:last-child { border-bottom:0 }
.bo_vc_act li a { display:inline-block; padding:10px 20px; color: #6b757c; font-size: 1.2rem; text-decoration: none;}
.bo_vc_act li a:hover { color:var(--fontColor) }

.bo_vc_w { position:relative; margin:10px 0; display:block } 
.bo_vc_w:after { display:block; visibility:hidden; clear:both; content:"" } 
.bo_vc_w h2 { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: polygon(0 0, 0 0, 0 0); } 
.bo_vc_w #char_cnt { display:block; margin:0 0 5px }
.bo_vc_w textarea { border:var(--inputBorder); background:var(--inputBg); color:var(--fontColor); vertical-align:middle; border-radius:3px; padding:5px; width:100%; height:120px; font-size: 1.2rem;} 
.bo_vc_w_info { margin:10px 0; float:left }
.bo_vc_w_info:after { display:block; visibility:hidden; clear:both; content:"" } 
.bo_vc_w_info .frm_input { float:left; margin-right:5px } 
.bo_vc_w_info #captcha { padding-top:10px; display:block; clear:both } 
.bo_vc_w .btn_confirm { clear:both; margin-top:10px } 
.bo_vc_w .btn_confirm label { display:inline-block; margin-right:10px; border-radius:3px; font-size:1.8rem; text-align:center } 
.bo_vc_w .btn_submit, .bo_vc_w .btn_cancel { height:45px; padding:0 20px; border-radius:3px; font-weight:bold; font-size:1.3rem } 
.bo_vc_w .btn_confirm .secret_cm label { font-size:1.2rem !important } 
.bo_vc_w_wr:after { display:block; visibility:hidden; clear:both; content:"" } 
.secret_cm { display:inline-block; float:left } 

/*글쓰기*/
#bo_w .bo_v_option li label { vertical-align:baseline } 
#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span { margin-left:0; margin-right:5px } 

/* 갤러리 */
/* 갤러리 목록 */
#bo_gall .gall_img img, #bo_gall .gall_img video { max-width:100%; width: 100%; height:auto !important } 
#bo_gall .cnt_cmt { background:#e9eff5; color:var(--primaryColor); font-size:1.1rem; height:16px; line-height:16px; padding:0 5px; border-radius:3px; vertical-align:middle } 

/* faq.css */
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active { text-decoration:none; background:var(--primaryColor); color:#fff }
#faq_wrap li h3.faq_li_open a { color: var(--primaryColor) !important; } 
#faq_con .con_inner { padding:5px 15px 15px 15px; color: var(--fontColor); font-size: 2rem; font-weight: 300;} 
#faq_con .con_inner .closer_btn { position:absolute; right:15px; top:15px;} 
#faq_sch .frm_input { border:var(--inputBorder); background: var(--inputBg); max-width: 300px; width:calc(100% - 100px); height:45px; border-radius:0; border-radius:3px } 
#faq_sch .btn_submit { padding:0 10px; height:45px; width:88px; font-size:1.3rem; font-weight:bold; color:#fff; background:#434a54 } 

/* 최신글 공통 */
.pic_lt li .lt_img img, .pic_lt li .lt_img video { width:100%; height:auto } 
.pic_lt li a:hover, #lat li a:hover { color:var(--primaryColor) } 
.file_icon .fa-heart { display:inline-block; width:10px;height: 10px;padding: 3px; color:#ff0000; background:#ffb9b9; text-align:center; border-radius:2px; vertical-align:middle } 
.file_icon .fa-lock { display:inline-block; line-height:14px; width:10px; height: 10px; padding: 3px; background:#cbe3e8; text-align:center; border-radius:2px; font-size:1.2rem; border:1px solid #cbe3e8; vertical-align:middle } 
.file_icon .new_icon { display:inline-block; width:16px; line-height:16px; font-size:1rem; color:#23db79; background:#b9ffda; text-align:center; border-radius:2px; margin-left:2px; font-weight:bold; vertical-align:middle } 
.file_icon .fa-caret-right { color:#bbb } 
.file_icon .fa-download { display:inline-block; width:10px; height: 10px; padding: 3px; color:#daae37; background:#ffefb9; text-align:center; border-radius:2px; vertical-align:middle } 
.file_icon .fa-link { display:inline-block; width:10px; height: 10px; padding: 3px; color:#b451fd; background:#edd3fd; text-align:center; border-radius:2px; vertical-align:middle } 
.lt_cmt { background:#e9eff5; color:var(--primaryColor); font-size:1.1rem; height:16px; line-height:16px; padding:0 5px; border-radius:3px; vertical-align:middle } 
.lt_more { display:block; color:var(--primaryColor); text-align:center; font-size: 1.8rem; } 
.lt_more:hover { color:#777 } 

/* 회원가입 */
#fregister_private table {width:100%;border-collapse:collapse;font-size:1.2rem;}
#fregister_private table th {background:#f7f7f9;width:33.33%;color:#000;padding:10px;border:1px solid #d8dbdf}
#fregister_private table td {border:1px solid #e7e9ec;padding:10px;border-top:0}
.fregister_agree {position:absolute;top:0;right:0}
.fregister_agree input[type="checkbox"] + label {color:#676e70}
.fregister_agree input[type="checkbox"] + label:hover {color:#2172f8}
.fregister_agree input[type="checkbox"] + label span {position:absolute;top:15px;right:0px;width:17px;height:17px;display:block;background:#fff;border:1px solid #999;border-radius:3px}
.fregister_agree input[type="checkbox"]:checked + label {color:var(--fontColor)}
.fregister_agree input[type="checkbox"]:checked + label span {background:url('/static/img/chk.png') no-repeat 50% 50% var(--primaryColor);border-color:#1471f6;border-radius:3px}
.fregister_agree.chk_all input[type="checkbox"] + label span {top:18px}


/* 쪽지 */
.memo_list li.read {background:var(--bovHover)}
.memo_list .no_read {position:absolute;bottom:0;right:0;display:inline-block;background:var(--primaryColor);border:1px solid #e1edff;text-indent:-9999px;border-radius:10px;width:10px;height:10px;box-shadow:0 0 10px 3px #9ec3f9}
.memo_list .no_read {animation:blinker 1s linear infinite}

@keyframes blinker {
    50% {opacity:0}
    }

#memo_list h1#win_title {padding:10px 10px 10px 20px}
#memo_list .memo_datetime {font-size:1.1rem;color:#888d92}
#memo_list .memo_del {position:absolute;right:15px;top:15px;padding:10px;color:#c7c9cb;font-size:1.7rem}
#memo_list .memo_cnt {margin-top:5px;font-weight:normal;display:inline-block;font-size:1.4rem}
#memo_list .pg_wrap {margin-top:10px;width:100%;float:inherit;text-align:center}
.memo_from li.memo_view_nick {width:80%}
#memo_write .reply_btn {display:inline-block;width:150px;height:45px;line-height:50px;padding:0 10px;font-weight:bold;background:var(--primaryColor);color:#fff;border-radius:3px;vertical-align:bottom;margin-right:5px;}

/* 스크랩 */
#scrap .scrap_del {position:absolute;top:50%;right:15px;transform: translateY(-50%);font-size:1.8rem;color:#c7c9cb}

/*포인트*/
.point_list li:first-child {border-top:var(--border)}
.point_list .point_date1 {color:#888d92}
.point_list .point_date {color:#888d92}
.point_list .txt_expired {color:red;margin-left:5px}

#point .pg_wrap {width:100%;float:inherit;text-align:center}
#point .btn_close {margin:20px auto}

/* 회원 비밀번호 확인 */
#mb_confirm {}
#mb_confirm h1 {margin:60px 0 30px;padding:0;font-size:2.4rem;color: var(--fontColor);}
#mb_confirm p {padding:0 20px 40px;border-bottom:var(--border);font-size:1.3rem;line-height:1.6rem;color:#656565}
#mb_confirm p strong {display:block;color:var(--primaryColor);font-size:1.4rem;margin:0 0 5px}
#mb_confirm fieldset {padding:50px;text-align:left}
#mb_confirm fieldset .frm_input {background-color:var(--inputBg) !important}
#mb_confirm label {letter-spacing:-0.1rem}
#mb_confirm_id {display:block;margin:5px 0 10px;font-weight:bold;color: var(--fontColor);}
#mb_confirm .confirm_id {font-size:1.1rem;color:#666}

/* 비밀글 비밀번호 확인 */
#pw_confirm h1 {margin:60px 20px 30px;padding:0;font-size:2.4rem;color: var(--fontColor);}
#pw_confirm p {padding:0 20px 40px;border-bottom:var(--border);font-size:1.3rem;line-height:1.6rem;color:#656565}
#pw_confirm p strong {display:block;color:var(--primaryColor);font-size:1.4rem;margin:0 0 5px}
#pw_confirm fieldset {padding:50px;text-align:center}
#pw_confirm fieldset .frm_input {background-color:var(--inputBg);border: var(--inputBorder);color: var(--fontColor);}
#pw_confirm label {letter-spacing:-0.1rem}
#pw_confirm_id {display:inline-block;margin-right:20px;font-weight:bold}
#mb_confirm_id {}

/* 폼메일 */
#formmail textarea {height:100px}
#formmail .formmail_flie {position:relative}
#formmail .formmail_flie .file_wr {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0}
#formmail .lb_icon {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#fff;text-align:center;color:#b2b2b2}
#formmail .frm_file {padding-left:50px}
#formmail .frm_info {color:#3497d9;font-size:1.1rem}
.chk_box input[type="radio"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box input[type="radio"] + label {position:relative;padding-left:23px;display:inline-block;color:var(--fontColor)}
.chk_box input[type="radio"] + label span {position:absolute;top:0;left:0;width:15px;height:15px;display:block;background:#f7f8f9;border:1px solid #cdd6df;border-radius:50%}
.chk_box input[type="radio"]:checked + label {color:var(--primaryColor)}
.chk_box input[type="radio"]:checked + label span {border-color:var(--primaryColor)}
.chk_box input[type="radio"]:checked + label span:before {width:7px;height:7px;background:var(--primaryColor);content:'';position:absolute;top:3px;left:3px;border-radius:50%}
.chk_box input[type="checkbox"] + label {position:relative;color:#676e70}
.chk_box input[type="checkbox"] + label:hover {color:#2172f8}
.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px}

/* 자기소개 */
#profile table {margin-bottom:0}
#profile table th {text-align:left;padding:10px;width:100px}


/* new.css */
/* 최근게시물 스킨 (new) */
#new_sch select {background: var(--inputBg);border:var(--inputBorder);color: var(--fontColor);width:175px;height:45px;padding:0 5px;border-radius:3px}
#new_sch .d {border:var(--inputBorder);width:calc(100% - 470px);height:45px;border-radius:0;border-radius:3px}
#new_sch .sch_wr {position:relative;display:inline-block}
#new_sch .btn_submit {padding:0 10px;height:45px;width:88px;font-size:1.3rem;font-weight:bold;color:#fff;background:#434a54}
#new_sch p {padding:10px 0 0;font-size:1.1rem;text-align:center;letter-spacing:-0.1rem;color: var(--fontColor);}
#fnewlist .profile_img img {border-radius:50%}
#fnewlist .td_group a {background:#edfbde;color:#8cc152;padding:3px 4px;border-radius:5px;font-weight:normal}
#fnewlist .td_board a {background:#eeeaf8;color:#ac92ec;padding:3px 4px;border-radius:5px;font-weight:normal}
.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% var(--primaryColor);border-color:#1471f6;border-radius:3px}

/* outlogin.css */
#profile #ol_after_logout {text-align:center;font-weight:bold;display:block;padding:15px 0;color:#a0a0a1;border-top:var(--border)}
#profile #ol_after_logout:hover {color:#285981}
#profile #ol_after_memo {margin-right:1px}
#profile #ol_after_pt {margin-right:1px}

/* popular.css */
/* 인기검색어 */
#popular li a:hover {text-decoration:underline}
.popular_inner .popular_btns{display:none}
.popular_btns .pp-next {position:absolute;top:60%;right:10px;width:18px;height:18px;line-height:15px;text-align:center;border:1px solid #ffffff;margin-top:-12px;color:#d3d2d2}
.popular_btns .pp-prev {position:absolute;top:60%;right:27px;width:18px;height:18px;line-height:15px;text-align:center;border:1px solid #ffffff;margin-top:-12px;color:#d3d2d2}

/* search.css */
/* 전체검색결과 스킨 */
#sch_res_detail {background:var(--newBg);padding:30px;text-align:center;margin:0 0 10px}
#sch_res_detail select {background: var(--inputBg);border:var(--inputBorder);color: var(--fontColor);width:175px;height:45px;padding:0 5px;border-radius:3px}
#sch_res_detail .frm_input {border:var(--inputBorder);width:calc(100% - 93px);height:45px;border-radius:3px}
#sch_res_detail .sch_wr {position:relative;display:inline-block;width: calc(100% - 360px);}
#sch_res_detail .btn_submit {padding:0 10px;height:45px;width:88px;font-size:1.3rem;font-weight:bold;color:#fff;background:#434a54}

/* 검색 OR+ADN 버튼 */
.switch_field {display:inline-block;vertical-align:middle;padding:10px 5px}
.switch_field input {position:absolute !important;clip:rect(0, 0, 0, 0);height:1px;width:1px;border:0;overflow:hidden}
.switch_field label {float:left}
.switch_field label {display:inline-block;width:50px;background-color:var(--contBg);color:rgba(0, 0, 0, 0.6);font-size:1.2rem;font-weight:normal;text-align:center;text-shadow:none;padding:6px 14px;border:var(--border);color: var(--fontColor);
transition:all 0.1s ease-in-out}
.switch_field label:hover {cursor:pointer}
.switch_field input:checked + label {background-color:var(--primaryColor);border:1px solid var(--primaryColor);color:#fff;box-shadow:none}
.switch_field label:first-of-type {border-radius:4px 0 0 4px;border-right:0}
.switch_field label:last-of-type {border-radius:0 4px 4px 0}

#sch_res_ov {text-align:center;height:55px;line-height:55px;background:var(--pointBg);border-radius:5px;border:var(--border);margin-bottom:15px;padding:0 20px}
#sch_res_ov h2 {margin:0;padding:0;font-size:1.5rem;color:var(--fontColor);font-weight:normal}
#sch_res_ov h2 strong {color:#ff005a}
#sch_res_ov ul {line-height:12px;font-size:1.1rem;color:var(--primaryColor);}
#sch_res_ov li {float:left;margin-right:5px;padding-right:5px;border-right:1px solid var(--primaryColor)}
#sch_res_ov li:last-child {margin:0;padding:0;border:0}

#sch_res_board {margin-bottom:28px}
#sch_res_board h2 {position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: polygon(0 0, 0 0, 0 0);}
#sch_res_board ul:after {display:block;visibility:hidden;clear:both;content:""}
#sch_res_board li {display:inline-block;padding:2px}
#sch_res_board a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #b1b1b1;color:var(--primaryColor)}
#sch_res_board a:focus, #sch_res_board a:hover {text-decoration:none;background:var(--primaryColor);color:#fff}
#sch_res_board .cnt_cmt {font-weight:normal !important;display:inline-block;margin-left:3px;color:var(--primaryColor);line-height:18px;font-size:1.1rem}
#sch_res_board a:hover .cnt_cmt {color:#fff}
#sch_res_board .sch_on .cnt_cmt {color:#fff}
#sch_res_board .sch_on {z-index:2;background:var(--primaryColor);color:#fff;font-weight:bold;border:1px solid var(--primaryColor);}


.sch_res_list {position:relative;margin-bottom:10px}
.sch_res_list .search_board_result{position:relative}
.sch_res_list h2 {display: flex;justify-content: space-between;margin:0 0 15px;padding:0;font-size:1.4rem}
.sch_res_list ul {margin:0 0 20px 0;padding:0;list-style:none; border-top: var(--border);}
.sch_res_list li {border-bottom:var(--border);background:var(--contBg);position:relative}
.sch_res_list .sch_tit {display:block;padding:20px 0 10px}
.sch_res_list .pop_a {display:inline-block;background:#e8eeef;color:#6f777f;border-radius:50%;text-align:center;width:26px;height:26px;line-height:26px}
.sch_res_title {display:inline-block;margin:0 0 5px;font-size:1.4rem}
.sch_res_list p {padding-bottom:10px;color:#666;line-height:1.8rem}
.sch_res_list .sch_info {padding:10px 0;color:#777}
.sch_res_list .sch_info:after {display:block;visibility:hidden;clear:both;content:""}
.sch_res_list .profile_img img {border-radius:50%}
.sch_res_list .sch_datetime {margin-left:5px}
.sch_more {display:flex;justify-content: flex-end;text-align:right;font-weight:normal;font-size:1.1rem;color:var(--primaryColor)}

/* social.css */
.social_info_guide {background:#f3f3f3;border:1px solid #ddd;margin:0 10px 10px;padding:10px 15px;line-height:1.8rem}
.bg-warning {margin:0 10px 10px;padding:10px 15px;line-height:1.8rem}
.bg-warning1 {background:#f7dfe4;border:1px solid #eac3cb}
.bg-warning2 {background:#deeabf;border:1px solid #bde498}
.bg-warning3 {background:#fff8dc;border:1px solid #f1e4b2}

/* SNS LOGIN */
.login-sns {padding-bottom:10px;margin-top:5px;border:var(--border);border-bottom:var(--border);clear:both;color: var(--fontColor);}
.login-sns h3 {padding-top:10px;text-align:center;color:#777;font-weight:normal}
.sns-wrap {margin:10px 0 0;text-align:center}
.sns-icon {display:inline-block;vertical-align:middle;text-decoration:none}
.sns-icon:hover {text-decoration:none}
.sns-icon .ico {display:block;vertical-align:middle}
.sns-icon .txt svg {font-style:normal}

#fregisterform .form_01 .reg-form {margin-bottom:20px}
#fregisterform .form_01 .reg-form .sns-wrap {margin:10px 0 0;text-align:left}
.reg-form .sns-icon {display:inline-block;vertical-align:middle;text-decoration:none;border-width:1px;border-style:solid;overflow:hidden;margin:0 1px}
.reg-form .sns-icon:hover {text-decoration:none}
.reg-form .sns-icon .ico {display:block;background:url('/static/img/social/sns_logo.png') no-repeat;vertical-align:middle;width:24px;height:24px}
.reg-form .sns-icon-not .ico {display:block;background:url('/static/img/social/sns_logo_not.png') no-repeat;vertical-align:middle}
.reg-form .sns-icon .txt { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: polygon(0 0, 0 0, 0 0); }
.reg-form .sns-icon .txt svg {font-style:normal}

.sns-wrap-reg .sns-naver {border-color:#18a400;background:#2db400}
.sns-wrap-reg .sns-naver .ico {background-position:-29px 0; }
.sns-wrap-reg .sns-google {border-color:#ca2c19;background:#4285F4}
.sns-wrap-reg .sns-google .ico {background-position:-58px 0}
.sns-wrap-reg .sns-facebook {border-color:#2e5393;background:#3a5897}
.sns-wrap-reg .sns-facebook .ico {background-position:0 0 }

.sns-wrap-reg .sns-icon {border-color:#dcdcdc}
.sns-wrap-reg .sns-icon-not {border-color:#8b8b8b}
.sns-wrap-reg .sns-naver {border-color:#18a400}
.sns-wrap-reg .sns-naver .ico {background-position:-29px 0; }
.sns-wrap-reg .sns-google .ico {background-position:-58px 0}
.sns-wrap-reg .sns-google {border-color:#ca2c19}
.sns-wrap-reg .sns-facebook .ico {background-position:0 0 }
.sns-wrap-reg .sns-facebook {border-color:#2e5393}
.sns-wrap-reg .sns-kakao .ico {background-position:-87px 0}
.sns-wrap-reg .sns-twitter {border-color:#488FC9}
.sns-wrap-reg .sns-twitter .ico {background-position:-145px 0}
.sns-wrap-reg .sns-payco {border-color:#C44646}
.sns-wrap-reg .sns-payco .ico {background-position:-116px 0}
.sns-wrap-reg .sns-kakao {border-color:#f2df00}

/* SNS by COLOR */
.sns-wrap-over .sns-naver {background:url('/static/img/social/sns_naver_s.png') no-repeat}
.sns-wrap-over .sns-google {}
.sns-wrap-over .sns-facebook {background:url('/static/img/social/sns_fb_s.png') no-repeat}
.sns-wrap-over .sns-twitter {background:url('/static/img/social/sns_twitter_s.png') no-repeat}
.sns-wrap-over .sns-payco {background:url('/static/img/social/sns_payco_s.png') no-repeat}
.sns-wrap-over .sns-kakao {background:url('/static/img/social/sns_kakao_s.png') no-repeat}
.reg-form .sns-icon-not {border-color:#8b8b8b}

.social-login-loading {width:100%;height:auto;text-align:center}
.social-login-loading p {display:inline-block;margin-top:10px;padding:40px 0 0;line-height:30px}

/* 아웃로그인 */
#sns_outlogin .sns-icon {overflow:hidden;margin:0 1px}
#sns_outlogin .sns-icon .txt { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: polygon(0 0, 0 0, 0 0); }
#sns_outlogin .sns-icon .ico {width:30px;height:30px}

/*로그인 */
#sns_login {border:0;margin-top:15px;border-top:var(--border)}
#sns_login h3 {padding:10px 0 0;text-align:left;font-weight:bold}
#sns_login form {padding:5px 20px 0px 20px}
#sns_login .sns-icon {position:relative;display:block;height:40px;line-height:40px;width:100%;margin:0 0 5px;padding-left:40px;text-align:left;color:#fff;border-radius:2px}
#sns_login .sns-naver {background-color:#1fc800;background-position:5px 5px;border:1px solid #1ea505}
#sns_login .sns-kakao {background-color:#ffeb00;background-position:5px 5px;border:1px solid #e2c10a}
#sns_login .sns-kakao {color:#3c1e1e}
#sns_login .sns-facebook {background-color:#3b579d;background-position:5px 5px;border-bottom:1px solid #28458f}
#sns_login .sns-google {background-color:#4285F4;background-position:5px 5px;border-bottom:1px solid #3567c6;letter-spacing:-0.5px}
#sns_login .sns-google .ico {position:absolute;top:3px;left:3px;width:33px;height:33px;background:url('/static/img/social/sns_gp_s.png') no-repeat center center;background-color:#fff;background-size:28px 28px!important;border-radius:2px}
#sns_login .sns-twitter {background-color:#1ea1f2;background-position:5px 5px;border-bottom:1px solid #1e82c0}
#sns_login .sns-payco {background-color:#df0b00;background-position:5px 5px;border-bottom:1px solid #9d0800}
#sns_login .txt {text-align:left;padding-left:10px;border-left:1px solid rgba(0,0,0,0.1);display:block;font-weight:bold}
#sns_login .txt:hover {background:rgba(0,0,0,0.07)}

/*회원가입 */
#sns_register {margin:0 0 10px;padding:0;text-align:center;border-radius:3px}
#sns_register:after {display:block;visibility:hidden;clear:both;content:""}
#sns_register h2 {float:left;display:inline-block;text-align:left;width:50%;height:56px;padding:0 20px;font-size:1.4rem;line-height: 4.8rem;}
#sns_register .sns-wrap {display:inline-block;float:left;width:50%;height:56px;line-height:53px;margin:0;text-align:right;padding:0 20px}
#sns_register .sns-wrap:after {display:block;visibility:hidden;clear:both;content:""}
#sns_register .sns-icon {display:inline-block;height:30px;line-height:30px;width:30px;margin:0 3px;text-align:right;color:#fff;border-radius:2px}
#sns_register .sns-naver {background-color:#1fc800;background-position:0 0}
#sns_register .sns-kakao {background-color:#ffeb00;background-position:0 0}
#sns_register .sns-facebook {background-color:#3b579d;background-position:0 0}
#sns_register .sns-google {background-color:#fff;background-position:0 0;border-radius:2px;border:1px solid #999}
#sns_register .sns-google .ico {background:url('/static/img/social/sns_gp_s.png') no-repeat;height:30px}
#sns_register .sns-twitter {background-color:#1ea1f2;background-position:0 0}
#sns_register .sns-payco {background-color:#df0b00;background-position:0 0}
#sns_register .txt { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: polygon(0 0, 0 0, 0 0); }

/* 회원가입 약관 */
.social_register {margin:0 auto}
.social_register:after {display:block;visibility:hidden;clear:both;content:""}
.social_register .btn_confirm .btn_submit,
.social_register .btn_confirm .btn_close {float:left;height:50px !important;width:49.5%;font-weight:bold;font-size:1.3rem}
.social_register .btn_confirm {text-align:left}
.social_register .btn_confirm .btn_submit {margin-left:1%}

#fregisterform p {position:relative;text-align:center;color:#fff;height:50px;line-height:50px;font-size:1.3rem;background:#f2838f;margin:0 0 10px;border-radius:5px;font-weight:bold}
#fregisterform p:before {content:"";position:absolute;top:0;left:0;width:5px;height:50px;border-radius:5px 0 0 5px;background:#da4453}
#fregisterform p svg {font-size:1.4rem;vertical-align:middle}
#fregisterform section {margin:10px auto 15px;border:1px solid #dde7e9;position:relative;border-radius:3px}
#fregister_chkall {position:relative;text-align:left;line-height:50px;border-radius:3px;margin-bottom:15px}
#fregisterform h2 {text-align:left;margin:0;padding:20px;font-size:1.4rem}
#fregisterform textarea {display:block;padding:20px;width:100%;height:150px;background:#fff;border:0;line-height:1.9rem}
#fregister_private {position:relative}
#fregister_private div {background:var(--inputBg)}
#fregister_private table {width:100%;border-collapse:collapse;font-size:1.2rem;}
#fregister_private table th {background:var(--priThBg);width:33.33%;color:var(--fontColor);padding:10px;border:var(--priTableBorder)}
#fregister_private table td {border:var(--priTableBorder);padding:10px;border-top:0;color:var(--fontColor);}
#sns_register .login-sns,
#sns_register h2 {border:0 !important}

/* 회원가입 입력 */
.register_form_inner label.inline {display:inline}
.register_form_inner .frm_input {padding: 5px;border: none;border-radius: 0px;background: transparent; font-size: 1.2rem;}
.register_form_inner label.text_input {position:absolute;left:0%; bottom:50%; width:100%; line-height: 45px; text-align:left;transition: all 0.2s;cursor: pointer;color: var(--bovColor);}
.register_form_inner .frm_input:focus,
.register_form_inner .frm_input:valid,
.register_form_inner .frm_input:-webkit-autofill {border: none !important;border: 2px solid var(--primaryColor) !important;box-shadow: none;}
.register_form_inner .frm_input:placeholder-shown {border: var(--inputBorder); background: var(--inputBg);}
.register_form_inner .frm_input:focus + label.text_input, 
.register_form_inner .frm_input:valid + label.text_input,
.register_form_inner .frm_input:-webkit-autofill + label.text_input {bottom:60%;font-size:1.2rem;color: var(--primaryColor);}  /* input에 글을 입력하고 포커스가 지나간 상태에서 제어하려면 valid 선택자를 써야한다. */
.register_form_inner .frm_input:placeholder-shown + label.text_input {bottom: 0;color: var(--bovColor);}
.register_form_inner .frm_input:read-only {background: var(--pgBg);}
/* 포커스 될 때 label span(name)이 위로 올라감 */
p input:focus + label::after,
p input:valid + label::after { width:100%; transform:translateX(0); }
/* 포커스 될 때 파란색 가로줄이 생김 */

#fregisterform .cert_desc {color:var(--primaryColor);}
#fregisterform .cert_req {margin-left:5px;line-height:35px;}
#fregisterform #msg_certify {margin:5px 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center}
#fregisterform .frm_address {margin:5px 0 0}
#fregisterform #mb_addr3 {display:inline-block;margin:5px 0 0;vertical-align:middle}
#fregisterform #mb_addr_jibeon {display:block;margin:5px 0 0;}
#fregisterform .form_01 div {margin:0 0 20px}
#fregisterform .captcha {display:block;margin:5px 0 0}
#fregisterform .reg_mb_img_file img {max-width:100%;height:auto}
#reg_mb_icon, #reg_mb_img {float:right}

.tooltip_icon {position: relative;display:inline-block;vertical-align:baseline;color:#b3b5b8;border:0;font-size:1.6rem;background:transparent;cursor:pointer;}
.tooltip_icon:hover {color:var(--primaryColor)}
.tooltip_bb {position:absolute;display: inline-block;opacity: 0;width:360px;color:#fff;background:#464646;padding:10px;font-size:small;line-height:18px;visibility: hidden;border-radius: 4px;z-index:9;font-weight:normal;margin-left:15px;margin-top:10px;transition: all 0.2s;text-align: left;word-break: keep-all;}
.tooltip:before {content:"";position:absolute;top:0;left:-10px;width:0;height:0;border-style:solid;border-top:0px solid transparent;border-bottom:10px solid transparent;border-left:0;border-right:10px solid #464646}
.tooltip_icon:hover .tooltip_bb {visibility: visible;opacity: 1;}

/*기존 계정에 연결하기*/

/* Styles for Accordion */

.mbskin .toggle {position:relative;display:block;border:1px solid #c6cacc;margin-top:-1px;background-color:#fcfcfc}
.mbskin .toggle .toggle-title {padding:13px 15px;line-height:20px}
.mbskin .toggle .title-name {display:block}
.mbskin .toggle .toggle-inner {padding:15px;line-height:1.8rem;display:none;background:#fff;border-top:1px solid #e2e2e2}
.mbskin .toggle .toggle-inner div {max-width:100%}
.mbskin .right_i {position:absolute;font-size:1.1rem;top:10px;right:10px;padding:0 10px 0 0;border-radius:3px;display:inline-block;z-index:2;background:#3497d9;color:#fff;border-bottom-color:#1977b5;cursor:pointer}
.mbskin .toggle .toggle-title .right_i svg {background:url("/static/img/social/plus_minus.png") 0 -24px no-repeat;width:20px;height:24px;display:inline-block;vertical-align:middle}
.mbskin .toggle .toggle-title.active .right_i svg {background:url("/static/img/social/plus_minus.png") 0 0 no-repeat}
.mbskin .all_agree {position:relative;display:block;margin-bottom:6px;background:#fff;border:1px solid #c6cacc;border-top:0;padding:13px 15px;line-height:20px}

.sns_tbl {background:#fff;margin:10px 0;border:1px solid #c6cacc}
.sns_tbl table {border:0}
.sns_tbl caption {padding:0 20px;line-height:45px;font-size:1.3rem;border-bottom:1px solid #e2e2e2;color:#253dbe;background:#fcfcfc}
.sns_tbl th {width:100px;text-align:right;padding:10px}
.sns_tbl td {padding:10px}
.sns_tbl .email_msg {color:#777;margin:5px 0 0}

#fregisterform .btn_confirm {text-align:center;margin:20px 0}
#fregisterform .btn_confirm .btn_submit {height:45px;padding:0 30px;font-weight:bold;font-size:1.3rem}
#fregisterform .btn_confirm .btn_cancel {line-height:45px;height:45px;padding:0 30px;font-weight:bold;font-size:1.3rem}

#sns-link-pnl .connect-close {position:absolute;top:10px;right:10px;margin:0;padding:0;width:30px;height:30px;border:0;background:transparent;color:#383838;cursor:pointer;font-size:1.5rem}
#sns-link-pnl .connect-close:hover {color:#ff5191}
#sns-link-pnl .connect-close .fa {margin:0 0 0 1px}
#sns-link-pnl .connect-close .txt { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: polygon(0 0, 0 0, 0 0); }

#sns-link-pnl #login_fs {margin:0 auto;width:100%;text-align:left}
#sns-link-pnl #login_fs label {display:block;display:block;font-size:1.1rem;color:#7a7a7a;margin:5px 0}
#sns-link-pnl #login_fs .lg_id,#sns-link-pnl #login_fs .lg_pw {width:100%;margin-bottom:5px}
#sns-link-pnl #login_id,#sns-link-pnl #login_pw {width:100%}
#sns-link-pnl #login_fs .login_submit {width:100%;height:44px;font-size:1.4rem;margin:10px auto 0;font-weight:bold;cursor:pointer;display:block}
#sns-link-pnl .connect-fg {height:320px;text-align:left}
#sns-link-pnl .login_fs {margin:0 auto;width:260px}
#sns-link-pnl .connect-fg .connect-desc {margin:0 0 10px;padding:15px;border:1px solid #d6e9c6;background:#dff0d8;color:#3c763d}
#sns-link-pnl .connect-fg .connect-title {margin-top:25px;margin-bottom:10px;font-size:2rem;font-weight:bold;text-align:center}

.member_connect:after {display:block;visibility:hidden;clear:both;content:""}
.member_connect {margin-top:80px;background:#d9d9d9;border-radius:3px;padding:10px;text-align:left}
.member_connect .strong {font-size:1.2rem;font-weight:bold;margin:0 0 10px}
.member_connect button {color:#fff;border:0;padding:6px 20px 7px;border:1px solid #6446e7;font-weight:bold;background:#6f50e7;border-radius:3px;font-size:1.1rem}
.member_connect button:hover {background:#6446e7}

html.remodal-is-locked {overflow-y:scroll !important}

/* 다크모드 설정 */ 
#darkmode-toggle-switch .visible { width:24px; height:24px; vertical-align:middle; }
#darkmode-toggle-switch .visible.dark { display: var(--lightVisible) }
#darkmode-toggle-switch .visible.bright { display: var(--darkVisible) }

/* 긴 문자열 ... 처리 */
.elip { display:inline-block; width:100px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }

#hd_sch_wr { display: none; } 
#hd_sch_wr.active { display: block; } 
#hd_sch #sch_stx, #hd_sch #sch_submit { height: 60px; color: var(--fontColor); } 
#hd_sch #sch_stx::placeholder { color: var(--fontColor); } 
.content_copy {color: var(--subFontColor);}

@media all and (max-width: 768px) {
  /* gnb */
  .gnb_mo.active { display: block; } 
  
  /* new, search */
  #new_sch select, #sch_res_detail select {width: calc(50% - 2.2px);}
  #new_sch .frm_input, #sch_res_detail .sch_wr {width: 100%;margin-top: 5px;}
  #new_sch .btn_submit {margin-top: 20px;}
  
  /* register */
  .tooltip_bb {width: 240px;}
  
  /* header */
  #logo { position: absolute; left: 50%; transform: translateX(-50%); width: 48px; }

  /* faq */
  #faq_sch .frm_input { width: 100%; max-width: 100%; }
  #faq_sch .btn_submit { margin-top: 20px; }

  /* main_list */
  .main_photo, .main_slide {width: 100%;padding: 0 !important;}
  .main_aside {width: 100%;height: auto;}

  /* sns */
  #sns-link-pnl.remodal {max-width:400px;padding:50px}
}


/* main */
.inner_wr {width: 100%;max-width:1320px;margin: 0 auto;padding: clamp(30px, 4.2vw, 80px) clamp(15px, 1.6vw, 20px); color: var(--fontColor);}
.inner_wr .inner_title {margin-bottom:clamp(20px, 3.9vw, 50px); text-align: center;}
.inner_wr .inner_title .inner_title01 {font-size: clamp(14px, 1.6vw, 20px);display:inline-block; color:#fff; font-weight: bold; letter-spacing: -0.02em; background: #00A8FF; border-radius: 30px; padding: 10px 25px; margin-bottom:clamp(15px, 2.3vw, 30px);}
.inner_wr .inner_title .inner_title02 {font-size: clamp(22px, 3.1vw, 40px); color: var(--fontColor); line-height:1.4em;}
.inner_wr .inner_title.white, .main_wr .inner_title.white .inner_title02 { color:#fff;}
#ctt_con .inner_wr {width: 100%;max-width:1320px;margin: 0 auto;padding: clamp(30px, 4.2vw, 80px) 0; color: var(--fontColor);}

.main_wr {line-height:1.2em;  word-break: keep-all;}

.main_con dt {display:block; font-size: clamp(20px, 2.3vw, 30px); color:#222; font-weight:700; line-height: 1.2em; letter-spacing: -0.02em; margin-bottom: clamp(15px, 1.6vw, 20px);}
.main_con dt span {color: #fb513e;}
.main_con dd {font-size: clamp(16px, 1.4vw, 18px);color: #444;line-height: 1.4em;}
.main_con dd p {font-size: clamp(14px, 1.3vw, 16px);line-height: 2em;color: #444;word-break: keep-all;}
.main_con dd p span {display: inline-block;width: clamp(55px, 9.4vw, 65px);color: #0056d7;}
.main_con dd svg {font-weight: bold; color: #0056d7; margin-right: 5px;}

.main_con dl.white dt {color: #fff;}
.main_con dl.white dd {color: #ffffff90;}
.main_con dl.white dd p {font-size: clamp(14px, 1.3vw, 16px);line-height: 1.4em;color: #ffffffcc;}

.main_con .small {}
.main_con .small dl {padding-top: 10px;}
.main_con .small .img {padding-top: clamp(10px, 1.6vw, 20px);}
.main_con .small dl dt {font-size: clamp(16px, 1.4vw, 18px);}
.main_con .small dl dd {font-size: clamp(14px, 1.3vw, 16px);}

.main_con ul {display: flex; position: relative; justify-content: space-between; flex-wrap: wrap; gap: clamp(0px, 4%, 4%);}
.main_con li {flex: auto; padding: clamp(20px, 3.9vw, 50px); margin-bottom: clamp(20px, 4%, 4%); background: #f2f6ff /*#e4efff*/; border-radius: clamp(15px, 2.3vw, 30px); overflow: hidden;/*box-shadow: 0 0 30px rgba(0,0,0,.1);*/}
.main_con li.main_con01 {background: linear-gradient(90deg,#0056d7 10%,#142eb5 90%); display: flex;flex-direction: row; justify-content: space-between; align-items: center; flex-wrap: wrap;}
.main_con li.main_con03 {background-repeat: no-repeat; background-position: right bottom; background-size: 45%;}
.main_con li.main_con04 {background: #4069f5;}
.main_con li.main_con05 {background: #ff8700;}
.main_con li.main_con06 {background: #6f5ee1;}
.main_con li.main_con07 {background: #fb513e;}
.main_con li.main_con08 {background: #00A8FF;}
.main_con li.main_con09 {background: #444;}
.main_con li.main_con10 {padding: 0; text-align: center;}
.main_con li.main_con11 {padding: 0;}
.main_con li.main_con11 dl {padding: clamp(10px, 1.6vw, 20px);}
.main_con li.main_con11 .img {padding: 0;}
.main_con li.main_con12 {background: #03c75a;}
.main_con.hover li:hover {background: #555;transition: all 0.5s;}
.main_con .img2 {margin-bottom: clamp(15px, 1.6vw, 20px);}
.main_con .img2 img {filter: brightness(0) invert(1);}
.main_con img {max-width:100%;}
@media (max-width: 920px){
	.main_con li {flex; position: relative; }
	.main_con.col1 li {width: 100%;}
	.main_con.col2 li {width: 47%;}
	.main_con li.main_con03 {background: #f2f6ff !important;}
}


/* main_list.css */
/* 메인 슬라이드 */
.con { margin:0 auto; } 
.img-box > img { width:100%; display:block; } 
.row::after { content:""; display:block; clear:both; } 
.cell { float:left; box-sizing:border-box; } 
.cell-right { float:right; box-sizing:border-box; } 
.margin-0-auto { margin:0 auto; } 
.block { display:block; } 
.inline-block { display:inline-block; } 
.text-align-center { text-align:center; } 
.line-height-0-ch-only { line-height:0; } 
.line-height-0-ch-only > * { line-height:normal; } 
.relative { position:relative; } 
.absolute-left { position:absolute; left:0; } 
.absolute-right { position:absolute; right:0; } 
.absolute-middle { position:absolute; top:50%; transform:translateY(-50%); } 
.table { display:table; } 
.table-cell { display:table-cell; } 
.blind, legend { overflow: hidden; position: absolute; width: 1px; height: 1px; font-size: 12px; clip: rect(1px, 1px, 1px, 1px); } 
button { cursor:pointer; padding:0; font-size:inherit; } 
.con-min-width { min-width:320px; } 
.main_bn { width: 100%; border-radius: 16px; overflow: hidden; } 

/* 메인 배너 슬라이더 */
.slider-wrap { position:relative; } 
.main-slider { position:relative; margin-bottom:0 !important; } 
.main-slider .slide-item .slide-con { position:relative; height: 5vh; } 
.main-slider .slide-item .slide-con .img-box img { width: 100%; height: 100%; object-fit: cover; } 
.main-slider .slide-item > .slide-con > .slide-txt { position:absolute; bottom: 15%; left: 50%; width: 100%; max-width: 1280px; margin: 0 0 0 -620px; z-index:50; color: #fff; text-align: left; } 
.main-slider .slide-item .slide-con .img-box::after { content:''; display:block; width:100%; height:100%; position:absolute; top:0; left:0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.6) 100%); } 
.main-slider .slide-item-1 > .slide-con > .slide-txt { left:50%; transform:translatex(-50%); padding:0; text-align:center; } 
.main-slider .slide-item > .slide-con > .slide-txt > h2.txt-tt { font-size:clamp(18px, 1.3vw, 24px); font-weight: 500; margin-bottom:20px;} 
.main-slider .slide-item > .slide-con > .slide-txt > h2.txt-tt a { color: #ffffff; } 
.main-slider .slide-item > .slide-con > .slide-txt > .txt-desc p { font-size:clamp(25px, 2.9vw, 55px); font-weight:bold; letter-spacing: -0.02em; margin-bottom:0px; width: 100%; line-height: 1.2em; } 
.main-slider .slide-item > .slide-con > .slide-txt > .txt-btn { margin-top:30px; background: var(--mainColor); border: 1px solid var(--mainColor); display: inline-block; border-radius: 4px;  cursor: pointer; } 
.main-slider .slide-item > .slide-con > .slide-txt > .txt-btn:hover { background: var(--blankBg); border: 1px solid #fff; color: #000000; } 
.main-slider .slide-item > .slide-con > .slide-txt > .txt-btn a { display: block; padding: 10px 30px; position: relative;transition: all 0.5s;} 
.main-slider .slide-item > .slide-con > .slide-txt > .txt-btn a svg { vertical-align: -3px; transition: all 0.5s;}
.main-slider .slide-item > .slide-con > .slide-txt > .txt-btn:hover a { display: block; padding: 10px 30px 10px 30px; } 
.main-slider .slide-item > .slide-con > .slide-txt > .txt-btn:hover a svg {margin: 0 0 0 10px;}

.main-slider .slide-item > .slide-con > .slide-txt > .txt-btn > a { font-size: 1.5em; display:inline-block; color: #ffffff; } 
.main-slider .slide-item > .slide-con > .slide-txt > .txt-btn > a.txt-btn-1 { position:relative; margin-right:31px; } 
.main-slider .slide-item > .slide-con > .slide-txt > .txt-btn > a.txt-btn-1::after { content:""; width:0; height:1px; position:absolute; left:50%; bottom:0; transform:translatex(-50%); background-color:#555; } 
.main-slider .slide-item > .slide-con > .slide-txt > .txt-btn > a.txt-btn-2 { padding:12px 38px; border:1px solid #fff; border-radius:45px; line-height:1; letter-spacing:.05rem; color:#fff; transition:all .5s; } 
.main-slider .slide-item > .slide-con > .slide-txt > .txt-btn > a.txt-btn-2:hover { background-color:#555; } 

/* 서브 배너 슬라이더 */
.sub_visual_wr .main-slider .slide-item .slide-con {height: 30vh;}
.sub_visual_wr .main-slider .slide-item .slide-con .img-box img{object-position: center;}
.sub_visual_wr .main-slider .slide-item .slide-con .img-box::after { background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.6) 100%); } 
.sub_visual_wr .main-slider .slide-item > .slide-con > .slide-txt > h2.txt-tt {display: none;} 
.sub_visual_wr .main-slider .slide-item > .slide-con > .slide-txt > .txt-desc p {display: none;} 
.sub_visual_wr .main-slider .slide-item > .slide-con > .slide-txt > .txt-btn {display: none;}
.sub_visual_wr .slick-arrow {display: none !important;}


.lotto-ball {
  display: inline-block;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  text-align: center;
  line-height: 25px;
  font-weight: bold;
  margin: 0px;
  font-size: 12px;
  color: white;
  box-shadow:
  inset 2px 2px 4px rgba(255, 255, 255, 0.5),
  inset -2px -2px 6px rgba(0, 0, 0, 0.2),
  1px 1px 2px rgba(0, 0, 0, 0.4);
}

.ball {
  display: inline-block;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  text-align: center;
  line-height: 25px;
  font-weight: bold;
  margin: 0px;
  font-size: 12px;
  color: white;
  box-shadow:
  inset 2px 2px 4px rgba(255, 255, 255, 0.5),
  inset -2px -2px 6px rgba(0, 0, 0, 0.2),
  1px 1px 2px rgba(0, 0, 0, 0.4);
}

/* 색상별 로또공 (원래 색상 유지, 그라데이션으로 변경) */
.lotto-ball-yellow { 
    background: linear-gradient(135deg, rgb(255,230,0) 0%, rgb(164,134,0) 100%); 
    color: #000000a3; 
}
.lotto-ball-blue { 
    background: linear-gradient(135deg, rgb(0,140,255) 0%, rgb(0,80,145) 100%); 
    color: #fff;
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8); 
}
.lotto-ball-red { 
    background: linear-gradient(135deg, rgb(255,42,0) 0%, rgb(174,3,0) 100%); 
    color: #fff;
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8); 
}
.lotto-ball-black { 
    background: linear-gradient(135deg, rgb(41,37,37) 0%, rgb(21,0,0) 100%); 
    color: #fff;
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8); 
}
.lotto-ball-green { 
    background: linear-gradient(135deg, rgb(0,255,8) 0%, rgb(0,90,5) 100%); 
    color: #fff;
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8); 
}

/* 색상별 로또공 (원래 색상 유지, 그라데이션으로 변경) */
.ball.yellow { 
    background: linear-gradient(135deg, rgb(255,230,0) 0%, rgb(164,134,0) 100%); 
    color: #000000a3; 
}
.ball.blue { 
    background: linear-gradient(135deg, rgb(0,140,255) 0%, rgb(0,80,145) 100%); 
    color: #fff;
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8); 
}
.ball.red { 
    background: linear-gradient(135deg, rgb(255,42,0) 0%, rgb(174,3,0) 100%); 
    color: #fff;
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8); 
}
.ball.black { 
    background: linear-gradient(135deg, rgb(41,37,37) 0%, rgb(21,0,0) 100%); 
    color: #fff;
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8); 
}
.ball.green { 
    background: linear-gradient(135deg, rgb(0,255,8) 0%, rgb(0,90,5) 100%); 
    color: #fff;
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8); 
}

/* 선택한 회차 바로 다음 회차 번호: 흰색 원에 파란 글씨 */
.ball.match-ball {
    display: inline-block;
    width: 25px;
    height: 25px;
    line-height: 25px;
    border-radius: 50%;
    /* 흰색을 기본으로 약간의 그라데이션 효과 추가 */
    background: linear-gradient(135deg, #ffffff, #f2f2f2);
    color:rgba(255, 0, 0, 0.51);
    text-align: center;
    font-weight: bold;
    border: 1px solidrgba(255, 0, 0, 0.3);
}